From ab5f12f03c22d1bc731ec0d5da8cdaf37f849d57 Mon Sep 17 00:00:00 2001 From: Kevin DeJong Date: Fri, 11 Oct 2024 17:20:56 -0700 Subject: [PATCH] Update specs to remove unneeded patches --- ...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 +- .../schemas/providers/af_south_1/__init__.py | 8 - .../aws-dms-replicationinstance.json | 106 + .../providers/af_south_1/aws-ecs-service.json | 585 +++ .../aws-ecs-taskset.json | 24 +- .../aws-guardduty-detector.json | 6 +- .../aws-kinesis-stream.json | 1 - .../aws-networkfirewall-firewallpolicy.json | 11 - .../aws-rds-dbcluster.json | 5 +- .../aws-rds-dbsubnetgroup.json} | 44 +- .../aws-sagemaker-imageversion.json | 30 +- .../providers/af_south_1/aws-waf-rule.json | 9 - .../schemas/providers/ap_east_1/__init__.py | 6 +- .../ap_east_1/aws-apigatewayv2-vpclink.json | 51 - .../providers/ap_east_1/aws-ecs-service.json | 585 +++ .../aws-ecs-taskset.json | 24 +- .../aws-guardduty-detector.json | 6 +- .../aws-kinesis-stream.json | 1 - .../aws-networkfirewall-firewallpolicy.json | 11 - .../ap_east_1/aws-sagemaker-imageversion.json | 30 +- .../providers/ap_northeast_1/__init__.py | 5 +- .../ap_northeast_1/aws-ecs-service.json | 585 +++ .../ap_northeast_1/aws-ecs-taskset.json | 191 + .../providers/ap_northeast_2/__init__.py | 7 - .../ap_northeast_2/aws-ecs-service.json | 585 +++ .../ap_northeast_2/aws-ecs-taskset.json | 191 + .../aws-guardduty-detector.json | 6 +- .../aws-kinesis-stream.json | 1 - .../aws-networkfirewall-firewallpolicy.json | 11 - .../aws-rds-dbcluster.json | 5 +- .../aws-rds-dbsubnetgroup.json} | 44 +- ...aws-robomaker-robotapplicationversion.json | 1 - ...obomaker-simulationapplicationversion.json | 1 - .../aws-sagemaker-imageversion.json | 30 +- .../providers/ap_northeast_3/__init__.py | 7 +- .../aws-dms-replicationinstance.json | 106 + .../ap_northeast_3/aws-ecs-service.json | 585 +++ .../ap_northeast_3/aws-ecs-taskset.json | 191 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-route53resolver-resolverrule.json | 131 + .../schemas/providers/ap_south_1/__init__.py | 4 +- .../providers/ap_south_1/aws-ecs-service.json | 585 +++ .../providers/ap_south_1/aws-ecs-taskset.json | 191 + ...aws-robomaker-robotapplicationversion.json | 1 - ...obomaker-simulationapplicationversion.json | 1 - .../aws-sagemaker-imageversion.json | 30 +- .../schemas/providers/ap_south_2/__init__.py | 5 - .../providers/ap_south_2/aws-ec2-host.json | 4 - .../providers/ap_south_2/aws-ecs-service.json | 585 +++ .../providers/ap_south_2/aws-ecs-taskset.json | 191 + .../ap_south_2/aws-guardduty-detector.json | 184 + .../aws-kinesis-stream.json | 1 - .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../providers/ap_south_2/aws-waf-rule.json | 9 - .../providers/ap_southeast_1/__init__.py | 7 +- .../ap_southeast_1/aws-ecs-service.json | 585 +++ .../ap_southeast_1/aws-ecs-taskset.json | 191 + .../aws-rds-dbcluster.json | 5 +- .../aws-rds-dbsubnetgroup.json} | 44 +- .../providers/ap_southeast_2/__init__.py | 8 +- .../ap_southeast_2/aws-ecs-service.json | 585 +++ .../ap_southeast_2/aws-ecs-taskset.json | 191 + .../ap_southeast_2/aws-medialive-channel.json | 3591 +++++++++++++++++ .../ap_southeast_2/aws-medialive-input.json | 249 ++ ...aws-robomaker-robotapplicationversion.json | 1 - ...obomaker-simulationapplicationversion.json | 1 - .../aws-route53resolver-resolverrule.json | 131 + .../providers/ap_southeast_3/__init__.py | 5 - .../ap_southeast_3/aws-ec2-host.json | 4 - .../ap_southeast_3/aws-ecs-service.json | 585 +++ .../ap_southeast_3/aws-ecs-taskset.json | 191 + .../aws-guardduty-detector.json | 184 + .../ap_southeast_3/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../ap_southeast_3/aws-waf-rule.json | 9 - .../providers/ap_southeast_4/__init__.py | 8 +- .../ap_southeast_4/aws-ec2-host.json | 4 - .../ap_southeast_4/aws-ecs-service.json | 585 +++ .../ap_southeast_4/aws-ecs-taskset.json | 191 + .../aws-guardduty-detector.json | 184 + .../ap_southeast_4/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-rds-dbcluster.json} | 401 +- .../aws-rds-dbsubnetgroup.json} | 42 +- .../ap_southeast_4/aws-waf-rule.json | 9 - .../providers/ap_southeast_5/__init__.py | 6 +- .../ap_southeast_5/aws-ec2-host.json | 4 - .../ap_southeast_5/aws-ecs-service.json | 585 +++ .../ap_southeast_5/aws-ecs-taskset.json | 191 + .../ap_southeast_5/aws-kinesis-stream.json | 133 + .../ap_southeast_5/aws-rds-dbcluster.json | 397 ++ .../ap_southeast_5/aws-rds-dbsubnetgroup.json | 71 + ...secretsmanager-secrettargetattachment.json | 29 - .../ap_southeast_5/aws-waf-rule.json | 9 - .../providers/ca_central_1/__init__.py | 5 +- .../ca_central_1/aws-ecs-service.json | 585 +++ .../ca_central_1/aws-ecs-taskset.json | 191 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../schemas/providers/ca_west_1/__init__.py | 12 +- .../providers/ca_west_1/aws-ec2-host.json | 4 - .../providers/ca_west_1/aws-ecs-service.json | 585 +++ .../providers/ca_west_1/aws-ecs-taskset.json | 191 + .../providers/ca_west_1/aws-glue-job.json | 164 - .../ca_west_1/aws-guardduty-detector.json | 184 + .../ca_west_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-rds-dbclusterparametergroup.json | 69 - .../ca_west_1/aws-rds-dbinstance.json | 528 --- .../ca_west_1/aws-rds-optiongroup.json | 125 - .../providers/ca_west_1/aws-waf-rule.json | 9 - .../schemas/providers/cn_north_1/__init__.py | 10 +- .../aws-dms-replicationinstance.json | 106 + .../aws-ec2-vpcendpointservice.json | 47 - .../providers/cn_north_1/aws-ecs-service.json | 585 +++ .../providers/cn_north_1/aws-eks-cluster.json | 395 ++ .../cn_north_1/aws-glue-crawler.json | 328 -- .../aws-lambda-eventsourcemapping.json | 5 - .../aws-route53resolver-resolverrule.json | 131 + ...secretsmanager-secrettargetattachment.json | 0 .../providers/cn_northwest_1/__init__.py | 5 +- .../cn_northwest_1/aws-ecs-service.json | 585 +++ .../cn_northwest_1/aws-ecs-taskset.json | 191 + .../cn_northwest_1/aws-glue-job.json | 150 - .../aws-guardduty-detector.json | 184 + .../aws-lambda-eventsourcemapping.json | 5 - .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../providers/eu_central_1/__init__.py | 8 +- .../eu_central_1/aws-m2-application.json | 121 + .../aws-mediapackage-originendpoint.json | 577 +++ .../providers/eu_central_1/aws-sns-topic.json | 150 + .../providers/eu_central_2/__init__.py | 15 +- .../providers/eu_central_2/aws-ec2-host.json | 4 - .../eu_central_2/aws-ecs-service.json | 585 +++ .../eu_central_2/aws-ecs-taskset.json | 191 + .../providers/eu_central_2/aws-glue-job.json | 164 - .../eu_central_2/aws-guardduty-detector.json | 184 + .../eu_central_2/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-rds-dbclusterparametergroup.json | 69 - .../aws-rds-dbparametergroup.json | 69 - .../eu_central_2/aws-rds-optiongroup.json | 125 - ...secretsmanager-secrettargetattachment.json | 29 - .../providers/eu_central_2/aws-waf-rule.json | 9 - .../schemas/providers/eu_north_1/__init__.py | 6 - .../aws-dms-replicationinstance.json | 106 + .../providers/eu_north_1/aws-ecs-service.json | 585 +++ .../providers/eu_north_1/aws-ecs-taskset.json | 191 + .../eu_north_1/aws-guardduty-detector.json | 184 + .../eu_north_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../schemas/providers/eu_south_1/__init__.py | 6 - .../aws-dms-replicationinstance.json | 106 + .../providers/eu_south_1/aws-ecs-service.json | 585 +++ .../providers/eu_south_1/aws-ecs-taskset.json | 191 + .../eu_south_1/aws-guardduty-detector.json | 184 + .../eu_south_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../providers/eu_south_1/aws-waf-rule.json | 9 - .../schemas/providers/eu_south_2/__init__.py | 7 +- .../providers/eu_south_2/aws-ec2-host.json | 4 - .../providers/eu_south_2/aws-ecs-service.json | 585 +++ .../providers/eu_south_2/aws-ecs-taskset.json | 191 + .../providers/eu_south_2/aws-glue-job.json | 164 - .../eu_south_2/aws-guardduty-detector.json | 184 + .../eu_south_2/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- ...secretsmanager-secrettargetattachment.json | 29 - .../providers/eu_south_2/aws-waf-rule.json | 9 - .../schemas/providers/eu_west_1/__init__.py | 17 +- .../eu_west_1/aws-databrew-dataset.json | 396 -- .../providers/eu_west_1/aws-databrew-job.json | 565 --- .../eu_west_1/aws-databrew-project.json | 93 - .../eu_west_1/aws-databrew-recipe.json | 539 --- .../eu_west_1/aws-databrew-ruleset.json | 198 - .../aws-dms-replicationinstance.json | 106 + .../providers/eu_west_1/aws-ecs-service.json | 585 +++ .../providers/eu_west_1/aws-ecs-taskset.json | 191 + .../eu_west_1/aws-medialive-channel.json | 3591 +++++++++++++++++ .../eu_west_1/aws-medialive-input.json | 249 ++ .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-route53resolver-resolverrule.json | 131 + .../aws-workspacesweb-identityprovider.json | 87 - .../aws-workspacesweb-usersettings.json | 218 - .../schemas/providers/eu_west_2/__init__.py | 8 - .../aws-dms-replicationinstance.json | 106 + .../providers/eu_west_2/aws-ecs-service.json | 585 +++ .../providers/eu_west_2/aws-ecs-taskset.json | 191 + .../eu_west_2/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../eu_west_2/aws-rds-dbcluster.json | 397 ++ .../eu_west_2/aws-rds-dbsubnetgroup.json | 71 + .../aws-route53resolver-resolverrule.json | 131 + .../eu_west_2/aws-sagemaker-imageversion.json | 30 +- .../schemas/providers/eu_west_3/__init__.py | 5 - .../providers/eu_west_3/aws-ecs-service.json | 585 +++ .../providers/eu_west_3/aws-ecs-taskset.json | 191 + .../eu_west_3/aws-guardduty-detector.json | 184 + .../eu_west_3/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../eu_west_3/aws-sagemaker-imageversion.json | 30 +- .../providers/il_central_1/__init__.py | 8 +- .../providers/il_central_1/aws-ec2-host.json | 4 - .../il_central_1/aws-ecs-service.json | 585 +++ .../il_central_1/aws-ecs-taskset.json | 191 + .../il_central_1/aws-guardduty-detector.json | 184 + .../il_central_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../il_central_1/aws-rds-dbcluster.json | 397 ++ .../il_central_1/aws-rds-dbsubnetgroup.json | 71 + .../aws-sagemaker-imageversion.json | 30 +- ...secretsmanager-secrettargetattachment.json | 29 - .../providers/il_central_1/aws-waf-rule.json | 9 - .../providers/me_central_1/__init__.py | 5 - .../providers/me_central_1/aws-ec2-host.json | 4 - .../me_central_1/aws-ecs-service.json | 585 +++ .../me_central_1/aws-ecs-taskset.json | 191 + .../me_central_1/aws-guardduty-detector.json | 184 + .../me_central_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../providers/me_central_1/aws-waf-rule.json | 9 - .../schemas/providers/me_south_1/__init__.py | 8 +- .../providers/me_south_1/aws-ecs-service.json | 585 +++ .../providers/me_south_1/aws-ecs-taskset.json | 191 + .../me_south_1/aws-guardduty-detector.json | 184 + .../me_south_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../me_south_1/aws-rds-dbcluster.json | 397 ++ .../me_south_1/aws-rds-dbsubnetgroup.json | 71 + .../aws-sagemaker-imageversion.json | 30 +- ...secretsmanager-secrettargetattachment.json | 29 - .../schemas/providers/sa_east_1/__init__.py | 4 +- .../providers/sa_east_1/aws-ecs-service.json | 585 +++ .../providers/sa_east_1/aws-ecs-taskset.json | 191 + .../schemas/providers/us_east_1/__init__.py | 1 + .../aws-appflow-connectorprofile.json | 28 +- .../us_east_1/aws-appstream-appblock.json | 6 +- .../aws-appstream-appblockbuilder.json | 5 +- .../us_east_1/aws-appstream-application.json | 3 +- .../aws-auditmanager-assessment.json | 9 +- .../us_east_1/aws-b2bi-capability.json | 5 +- .../providers/us_east_1/aws-b2bi-profile.json | 6 +- .../us_east_1/aws-b2bi-transformer.json | 7 +- .../us_east_1/aws-backup-backupvault.json | 3 +- .../us_east_1/aws-ce-costcategory.json | 3 +- .../aws-cleanrooms-collaboration.json | 9 +- .../aws-cleanrooms-configuredtable.json | 5 +- .../aws-cleanrooms-idmappingtable.json | 3 +- ...aws-cleanrooms-idnamespaceassociation.json | 3 +- .../us_east_1/aws-cleanrooms-membership.json | 6 +- .../us_east_1/aws-cloudtrail-channel.json | 3 +- .../aws-comprehend-documentclassifier.json | 6 +- .../aws-connect-integrationassociation.json | 13 +- .../us_east_1/aws-connect-tasktemplate.json | 6 +- ...rofiles-calculatedattributedefinition.json | 21 +- .../us_east_1/aws-datazone-datasource.json | 6 +- .../aws-datazone-projectmembership.json | 6 +- .../us_east_1/aws-datazone-userprofile.json | 7 +- .../us_east_1/aws-deadline-queue.json | 7 +- .../aws-deadline-queueenvironment.json | 6 +- .../aws-deadline-storageprofile.json | 7 +- .../us_east_1/aws-dynamodb-table.json | 4 - .../aws-ec2-networkinsightspath.json | 12 +- .../providers/us_east_1/aws-ecs-service.json | 3 + .../providers/us_east_1/aws-ecs-taskset.json | 24 +- .../aws-emrserverless-application.json | 6 +- ...ws-entityresolution-idmappingworkflow.json | 3 +- .../aws-entityresolution-idnamespace.json | 3 +- ...aws-entityresolution-matchingworkflow.json | 3 +- .../aws-entityresolution-policystatement.json | 12 +- .../aws-entityresolution-schemamapping.json | 3 +- .../us_east_1/aws-fis-experimenttemplate.json | 6 +- .../aws-fis-targetaccountconfiguration.json | 12 +- .../aws-fms-notificationchannel.json | 6 +- .../aws-gamelift-gameservergroup.json | 19 +- .../us_east_1/aws-grafana-workspace.json | 12 +- .../us_east_1/aws-guardduty-detector.json | 6 +- .../aws-healthlake-fhirdatastore.json | 8 +- .../us_east_1/aws-iotfleetwise-campaign.json | 18 +- .../us_east_1/aws-iotfleetwise-vehicle.json | 6 +- .../us_east_1/aws-kendra-datasource.json | 38 +- .../providers/us_east_1/aws-kendra-faq.json | 22 +- .../providers/us_east_1/aws-kendra-index.json | 21 +- .../aws-kendraranking-executionplan.json | 6 +- .../aws-kinesis-resourcepolicy.json | 0 .../us_east_1/aws-kinesis-stream.json | 1 + .../aws-kinesisanalyticsv2-application.json | 3 +- .../us_east_1/aws-lakeformation-tag.json | 3 +- .../aws-lambda-eventsourcemapping.json | 5 - .../us_east_1/aws-lambda-function.json | 6 +- .../us_east_1/aws-licensemanager-grant.json | 3 +- .../aws-location-geofencecollection.json | 7 +- .../providers/us_east_1/aws-location-map.json | 7 +- .../us_east_1/aws-location-placeindex.json | 7 +- .../aws-location-routecalculator.json | 7 +- .../us_east_1/aws-location-tracker.json | 14 +- .../us_east_1/aws-lookoutvision-project.json | 3 +- .../us_east_1/aws-m2-application.json | 6 +- .../us_east_1/aws-m2-environment.json | 6 +- .../aws-managedblockchain-accessor.json | 14 +- ...aws-medialive-cloudwatchalarmtemplate.json | 37 +- .../us_east_1/aws-medialive-cluster.json | 5 +- ...aws-medialive-eventbridgeruletemplate.json | 17 +- .../us_east_1/aws-mediapackagev2-channel.json | 6 +- .../aws-mediapackagev2-originendpoint.json | 6 +- .../us_east_1/aws-mediatailor-channel.json | 12 +- .../us_east_1/aws-mwaa-environment.json | 30 +- .../aws-networkfirewall-firewall.json | 3 +- .../aws-networkfirewall-firewallpolicy.json | 11 + .../us_east_1/aws-omics-annotationstore.json | 7 +- .../us_east_1/aws-omics-workflow.json | 12 +- ...aws-opensearchserverless-accesspolicy.json | 5 +- .../aws-opensearchserverless-collection.json | 13 +- ...-opensearchserverless-lifecyclepolicy.json | 5 +- ...s-opensearchserverless-securityconfig.json | 5 +- ...s-opensearchserverless-securitypolicy.json | 6 +- .../aws-panorama-applicationinstance.json | 15 +- .../us_east_1/aws-panorama-package.json | 3 +- .../aws-panorama-packageversion.json | 12 +- .../aws-paymentcryptography-key.json | 6 +- .../providers/us_east_1/aws-pipes-pipe.json | 6 +- .../aws-proton-environmenttemplate.json | 5 +- .../us_east_1/aws-proton-servicetemplate.json | 5 +- .../us_east_1/aws-qbusiness-application.json | 7 +- .../us_east_1/aws-qbusiness-index.json | 6 +- .../us_east_1/aws-qbusiness-plugin.json | 9 +- .../us_east_1/aws-qbusiness-retriever.json | 6 +- .../aws-qbusiness-webexperience.json | 6 +- .../us_east_1/aws-quicksight-dataset.json | 6 +- .../us_east_1/aws-quicksight-datasource.json | 33 +- .../us_east_1/aws-quicksight-folder.json | 12 +- .../us_east_1/aws-rekognition-collection.json | 3 +- .../us_east_1/aws-rekognition-project.json | 3 +- ...aws-robomaker-robotapplicationversion.json | 3 +- ...obomaker-simulationapplicationversion.json | 3 +- ...ws-sagemaker-dataqualityjobdefinition.json | 3 +- .../us_east_1/aws-sagemaker-image.json | 3 +- .../us_east_1/aws-sagemaker-imageversion.json | 30 +- .../aws-sagemaker-inferencecomponent.json | 9 +- .../aws-sagemaker-inferenceexperiment.json | 3 +- .../aws-sagemaker-modelbiasjobdefinition.json | 3 +- ...aker-modelexplainabilityjobdefinition.json | 3 +- .../us_east_1/aws-sagemaker-modelpackage.json | 31 +- .../aws-sagemaker-modelpackagegroup.json | 6 +- ...s-sagemaker-modelqualityjobdefinition.json | 3 +- .../aws-sagemaker-monitoringschedule.json | 3 +- .../us_east_1/aws-sagemaker-project.json | 6 +- .../us_east_1/aws-securityhub-insight.json | 3 +- .../us_east_1/aws-signer-signingprofile.json | 3 +- .../providers/us_east_1/aws-waf-rule.json | 9 - .../providers/us_east_1/aws-wafv2-ipset.json | 18 +- .../us_east_1/aws-wafv2-rulegroup.json | 12 +- .../providers/us_east_1/aws-wafv2-webacl.json | 12 +- .../us_east_1/aws-wisdom-assistant.json | 5 +- .../aws-wisdom-assistantassociation.json | 5 +- .../us_east_1/aws-wisdom-knowledgebase.json | 7 +- .../aws-workspacesweb-identityprovider.json | 10 +- .../us_east_1/aws-workspacesweb-portal.json | 13 +- .../aws-workspacesweb-usersettings.json | 36 +- .../schemas/providers/us_east_2/__init__.py | 5 - .../providers/us_east_2/aws-ecs-service.json | 585 +++ .../providers/us_east_2/aws-ecs-taskset.json | 191 + .../us_east_2/aws-guardduty-detector.json | 184 + .../us_east_2/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../us_east_2/aws-sagemaker-imageversion.json | 30 +- .../providers/us_gov_east_1/__init__.py | 7 +- .../aws-dms-replicationinstance.json | 106 + .../providers/us_gov_east_1/aws-ec2-host.json | 4 - .../us_gov_east_1/aws-ecs-service.json | 585 +++ .../us_gov_east_1/aws-ecs-taskset.json | 191 + .../us_gov_east_1/aws-guardduty-detector.json | 184 + .../us_gov_east_1/aws-kinesis-stream.json | 133 + .../aws-lambda-eventsourcemapping.json | 5 - .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- ...secretsmanager-secrettargetattachment.json | 29 - .../us_gov_east_1/aws-wafv2-rulegroup.json | 12 +- .../us_gov_east_1/aws-wafv2-webacl.json | 12 +- .../providers/us_gov_west_1/__init__.py | 6 +- .../providers/us_gov_west_1/aws-ec2-host.json | 4 - .../us_gov_west_1/aws-ecs-service.json | 585 +++ .../us_gov_west_1/aws-ecs-taskset.json | 191 + .../us_gov_west_1/aws-guardduty-detector.json | 184 + .../us_gov_west_1/aws-kinesis-stream.json | 133 + .../aws-lambda-eventsourcemapping.json | 5 - .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-sagemaker-imageversion.json | 30 +- .../us_gov_west_1/aws-wafv2-rulegroup.json | 12 +- .../us_gov_west_1/aws-wafv2-webacl.json | 12 +- .../schemas/providers/us_west_1/__init__.py | 10 +- .../providers/us_west_1/aws-ecs-service.json | 585 +++ .../providers/us_west_1/aws-ecs-taskset.json | 191 + .../us_west_1/aws-kinesis-stream.json | 133 + .../aws-networkfirewall-firewallpolicy.json | 332 ++ .../aws-rds-dbclusterparametergroup.json | 69 - .../us_west_1/aws-rds-dbinstance.json | 528 --- .../us_west_1/aws-rds-dbparametergroup.json | 69 - .../us_west_1/aws-rds-optiongroup.json | 125 - .../us_west_1/aws-sagemaker-imageversion.json | 30 +- .../schemas/providers/us_west_2/__init__.py | 12 +- .../aws-ec2-transitgatewayroutetable.json} | 56 +- .../us_west_2/aws-ec2-vpnconnection.json | 383 ++ .../providers/us_west_2/aws-ecs-service.json | 585 +++ .../providers/us_west_2/aws-glue-crawler.json | 328 -- .../us_west_2/aws-kinesis-resourcepolicy.json | 43 - .../aws-route53recoveryreadiness-cell.json | 75 + ...ute53recoveryreadiness-readinesscheck.json | 65 + ...oute53recoveryreadiness-recoverygroup.json | 69 + ...-route53recoveryreadiness-resourceset.json | 164 + ...secretsmanager-secrettargetattachment.json | 0 450 files changed, 50022 insertions(+), 7711 deletions(-) create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-ecs-taskset.json (87%) rename src/cfnlint/data/schemas/providers/{us_west_2 => af_south_1}/aws-guardduty-detector.json (95%) rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-kinesis-stream.json (87%) rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-networkfirewall-firewallpolicy.json (96%) rename src/cfnlint/data/schemas/providers/{ca_west_1 => af_south_1}/aws-rds-dbcluster.json (98%) rename src/cfnlint/data/schemas/providers/{us_west_1/aws-rds-eventsubscription.json => af_south_1/aws-rds-dbsubnetgroup.json} (62%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_east_1}/aws-ecs-taskset.json (87%) rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_east_1}/aws-guardduty-detector.json (95%) rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_east_1}/aws-kinesis-stream.json (87%) rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_east_1}/aws-networkfirewall-firewallpolicy.json (96%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskset.json rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_northeast_2}/aws-guardduty-detector.json (95%) rename src/cfnlint/data/schemas/providers/{ap_southeast_1 => ap_northeast_2}/aws-kinesis-stream.json (87%) rename src/cfnlint/data/schemas/providers/{ap_southeast_2 => ap_northeast_2}/aws-networkfirewall-firewallpolicy.json (96%) rename src/cfnlint/data/schemas/providers/{us_west_1 => ap_northeast_2}/aws-rds-dbcluster.json (98%) rename src/cfnlint/data/schemas/providers/{ca_west_1/aws-rds-eventsubscription.json => ap_northeast_2/aws-rds-dbsubnetgroup.json} (62%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-detector.json rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_south_2}/aws-kinesis-stream.json (87%) create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-taskset.json rename src/cfnlint/data/schemas/providers/{eu_central_2 => ap_southeast_1}/aws-rds-dbcluster.json (98%) rename src/cfnlint/data/schemas/providers/{eu_central_2/aws-rds-eventsubscription.json => ap_southeast_1/aws-rds-dbsubnetgroup.json} (62%) create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-channel.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-input.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewallpolicy.json rename src/cfnlint/data/schemas/providers/{eu_central_2/aws-rds-dbinstance.json => ap_southeast_4/aws-rds-dbcluster.json} (51%) rename src/cfnlint/data/schemas/providers/{ca_west_1/aws-rds-dbparametergroup.json => ap_southeast_4/aws-rds-dbsubnetgroup.json} (58%) create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbsubnetgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-secretsmanager-secrettargetattachment.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-taskset.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-job.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewallpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbclusterparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-optiongroup.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-dms-replicationinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpointservice.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-crawler.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json rename src/cfnlint/data/schemas/providers/{ap_southeast_4 => cn_north_1}/aws-secretsmanager-secrettargetattachment.json (100%) create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskset.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-job.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-m2-application.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackage-originendpoint.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-job.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewallpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbclusterparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-optiongroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secrettargetattachment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-taskset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-job.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewallpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-secretsmanager-secrettargetattachment.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-job.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-project.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-recipe.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-ruleset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-channel.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-input.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-route53resolver-resolverrule.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-identityprovider.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-usersettings.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbsubnetgroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-route53resolver-resolverrule.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbsubnetgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secrettargetattachment.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbsubnetgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-secretsmanager-secrettargetattachment.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-taskset.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_east_1}/aws-kinesis-resourcepolicy.json (100%) create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-dms-replicationinstance.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewallpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-secretsmanager-secrettargetattachment.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-guardduty-detector.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewallpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-taskset.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-kinesis-stream.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-networkfirewall-firewallpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbclusterparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-optiongroup.json rename src/cfnlint/data/schemas/providers/{eu_west_1/aws-databrew-schedule.json => us_west_2/aws-ec2-transitgatewayroutetable.json} (50%) create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpnconnection.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-glue-crawler.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-kinesis-resourcepolicy.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-route53recoveryreadiness-cell.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-route53recoveryreadiness-readinesscheck.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-route53recoveryreadiness-recoverygroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-route53recoveryreadiness-resourceset.json rename src/cfnlint/data/schemas/providers/{us_gov_west_1 => us_west_2}/aws-secretsmanager-secrettargetattachment.json (100%) diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index 33a84eaefd..eb8e2ccb34 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"b577498f255ee4b66aecffbab2190e21\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"79550b0fd6afdc26f24e43ae91b08f7e\"", "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 c63413b557..04c5c9b74f 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"88b31efd15169716b9161d47fc7d101d\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"582e66fdd371fbe35fb64e61d66fb1fc\"", "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 bc9851c747..693a48faed 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"0e8c43d597d228c1db8bb9178e8b8f37\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"32378cf857230304a78969a9fc8e399f\"", "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 ca8f00819b..b758c36d4e 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"4f087289a61ed305e32017e7ff323e34\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7a59eb487710abed8b72a748723a3ec9\"", "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 ea5272ecc7..987a490f5b 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"582340e29e3bfe3a8d51b4b683aaaf69\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"eafcbcab38e405e27ad39d2e691832ab\"", "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 a04e0e670a..1c485cc265 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"78746b74b820ee23ca1d6a91da60731c\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"02ecc29742d6f7a150d1c613fe312822\"", "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 6272c1e047..914088fb3c 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"efc2d0aabd4d4b8673fa5e49fc477f96\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c31aee518eb6f660471250813ca6e302\"", "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 ff65f5c03a..3a7d78b155 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"dc2ca21b2e7a67de151ace3ba490376c\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"2ac470a48a5af254c6dc9ad3dbd00920\"", "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 825cd17306..2789cf984f 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"16c4d9c9042da148d7d9cd90c06c796c\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6060f9b272582b995679c257b1518c62\"", "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 18a3a846bc..4900ba9e92 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"c36690a2f5897235f191b750656a5ff7\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3888614e1b025c1a51640a8454e64261\"", "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 5cde5846e1..0f5cfeb907 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"d36e2dbdf974f8c3251e2289b371aabf\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cd1ef321cad981eb8210a5292cb3174a\"", "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 be70ac3e91..4703816a4d 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"5d2e65b0fbf8d81118d7078424180671\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"aaf517e66ce35d51e7af65da0366d37e\"", "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 48c6d1b3c8..e4ccb50b08 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"78a02660ca7b8cec013abb5e6e48b204\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4ae91fdda0a97fe1064843869b1bacbe\"", "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 85d8c56166..5bbd0239b1 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"bc7f4b6b06ba62b79b946d6c109e8d8e\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a77591fe3f9644fff61577957c543da6\"", "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 bc53070c03..52ebd552f9 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"4c75ad8009803a0d162476afc69d38d1\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8ba35ab45a71e3d6973b6b20c54e33d8\"", "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 8a5b6e6557..8bc9c18062 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"bd4551e08025b416d7747d9a74e447b5\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9f464d820837dfe9f89f8fbc8a5f7ff3\"", "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 63d8028618..520d73f651 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"ce40cd061dc0eeb64ee739c563229073\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1e236db8f28b0fa10048ada8a9528959\"", "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 679a770b1d..56317dfdc8 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"ffb5bd2d6e45dcda0665347144e60324\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5d35a336aed35cd5ef29c8fdec096095\"", "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 b620d72008..1892c80b5a 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"5ef8b889070af2824e94997af16a8951\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e272513fa83ff1a81eb94e830549b463\"", "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 4c89795216..ba17fe34e4 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"8de98a04b7e80d5a52d5bfee9c3bba66\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4f8b7669b62d644ea415e6cb39b47b98\"", "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 ae3f5c2279..27ea1365bd 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"e3b02ac9e0c7eb55da386785a319918a\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"36d18f168e2856eadca2ee3be5bb23ec\"", "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 d51be4974a..f3fccad9d7 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"c77b44f369e022992a8561dedd2e182d\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2f3919b95ac2db80aca5e5764f0aafc2\"", "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 abf0962e6f..34f4850f0e 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"b6bab1881e1729e50ca99bcb9b838a2c\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1fa39d73d61a09d97d9516fe76fcab2d\"", "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 d17f5030f2..90ed67074a 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"ff5d2c12d060f95121f476490595058d\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a5a14d3a639f37b467b6055916815673\"", "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 1390c642d6..e914456d9e 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"5fef8788909211392393eb88e14fbfff\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2f9b529b5f829d278fa28ac1fae6930d\"", "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 f3ec31f397..0d1d85e9e0 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"e178c8c26a1d0c9bbe225025e0efddc8\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"928dc499578f6adad0cb829602f77963\"", "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 b32ba94b0b..40c77e65bf 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"9f3f49fa5edac419d42b8ff398042357\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2c37272a0ccd79c645d8a903b896f34c\"", "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 3a7d894ceb..2da2249740 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"7fcc416c6601bea463b4e1e641f93d02\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cb1d34db2445eaefb52a0140d342d057\"", "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 4140152181..f836661541 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"2516dd8659b69bae478ec25a64778cdb\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"08930191250b4857f4c9896d3be845f1\"", "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 190c50d320..2f5d1c6daf 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"d4ebfc950dc4c6f95377b86a34a1af7a\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f50b82e88e3a37feb0c3e344de9841aa\"", "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 a29561a619..d84cd574d0 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"5d424d4ce01f84e770b4e0367e32b98b\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bd05733b667d1cae784c1e5417a7dd99\"", "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 c782e89e4f..b80d5003db 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"020c49ca994a2f3c1f2183b890ebfa75\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3bdc51633fb492382bd07a5bcdc1ebbd\"", "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 369dea0b6d..b251a80be8 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"be78f70aa2f9fcf03ab6fbb1ae2ab565\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6eed89ccd1fc53bf21f45b40ad89308d\"", "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 f4038d4ea6..1335ef2221 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"126060e994baed7d4a156ad777cc3287\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"03c4170bd3be15a1e5cbe4e9dea6e183\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} 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 05689fb925..23572534d2 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -1079,7 +1079,6 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-docdb-dbcluster.json", @@ -1181,9 +1180,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", "aws-efs-mounttarget.json", @@ -1270,7 +1267,6 @@ "aws-groundstation-config.json", "aws-groundstation-dataflowendpointgroup.json", "aws-groundstation-missionprofile.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1305,7 +1301,6 @@ "aws-inspectorv2-cisscanconfiguration.json", "aws-inspectorv2-filter.json", "aws-internetmonitor-monitor.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1374,7 +1369,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1423,7 +1417,6 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -1432,7 +1425,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "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-ecs-taskset.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-taskset.json similarity index 87% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskset.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-taskset.json index 663d1205f9..3491488499 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskset.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-taskset.json @@ -9,8 +9,7 @@ "/properties/PlatformVersion", "/properties/Service", "/properties/ServiceRegistries", - "/properties/TaskDefinition", - "/properties/CapacityProviderStrategy" + "/properties/TaskDefinition" ], "definitions": { "AwsVpcConfiguration": { @@ -45,21 +44,6 @@ ], "type": "object" }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, "LoadBalancer": { "additionalProperties": false, "properties": { @@ -138,12 +122,6 @@ "/properties/Id" ], "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, "Cluster": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-guardduty-detector.json similarity index 95% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-detector.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-guardduty-detector.json index 0632b1017c..efaad17ff9 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-detector.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-guardduty-detector.json @@ -36,7 +36,6 @@ "additionalProperties": false, "properties": { "AdditionalConfiguration": { - "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" }, @@ -146,7 +145,6 @@ "type": "boolean" }, "Features": { - "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureConfiguration" }, @@ -164,7 +162,6 @@ "type": "string" }, "Tags": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -180,8 +177,7 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, + "tagUpdatable": false, "taggable": true }, "typeName": "AWS::GuardDuty::Detector" diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-kinesis-stream.json similarity index 87% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesis-stream.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-kinesis-stream.json index 45b4ce6a6b..be1bc65c07 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesis-stream.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-kinesis-stream.json @@ -1,5 +1,4 @@ { - "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "createOnlyProperties": [ "/properties/Name" diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-networkfirewall-firewallpolicy.json similarity index 96% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewallpolicy.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-networkfirewall-firewallpolicy.json index 6c4c8f2af1..973b595561 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewallpolicy.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-networkfirewall-firewallpolicy.json @@ -187,17 +187,6 @@ "StatefulEngineOptions": { "additionalProperties": false, "properties": { - "FlowTimeouts": { - "additionalProperties": false, - "properties": { - "TcpIdleTimeoutSeconds": { - "maximum": 600, - "minimum": 60, - "type": "integer" - } - }, - "type": "object" - }, "RuleOrder": { "$ref": "#/definitions/RuleOrder" }, diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json similarity index 98% rename from src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json index 9748b231ac..46000178b5 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json @@ -177,7 +177,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +264,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +303,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,7 +353,7 @@ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbsubnetgroup.json similarity index 62% rename from src/cfnlint/data/schemas/providers/us_west_1/aws-rds-eventsubscription.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbsubnetgroup.json index 10fa51a2d0..d228afbbad 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-eventsubscription.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbsubnetgroup.json @@ -1,8 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" + "/properties/DBSubnetGroupName" ], "definitions": { "Tag": { @@ -26,37 +25,22 @@ } }, "primaryIdentifier": [ - "/properties/SubscriptionName" + "/properties/DBSubnetGroupName" ], "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true + "DBSubnetGroupDescription": { + "type": "string" }, - "SnsTopicArn": { + "DBSubnetGroupName": { "type": "string" }, - "SourceIds": { + "SubnetIds": { "insertionOrder": false, "items": { "type": "string" }, "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" + "uniqueItems": false }, "Tags": { "insertionOrder": false, @@ -69,11 +53,19 @@ } }, "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" }, "required": [ - "SnsTopicArn" + "DBSubnetGroupDescription", + "SubnetIds" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" } diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 f18df1390e..90d648186b 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -859,6 +859,7 @@ "aws-apigatewayv2-route.json", "aws-apigatewayv2-routeresponse.json", "aws-apigatewayv2-stage.json", + "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", @@ -1135,9 +1136,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", "aws-efs-mounttarget.json", @@ -1220,7 +1219,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1285,7 +1283,6 @@ "aws-iot-thingtype.json", "aws-iot-topicrule.json", "aws-iot-topicruledestination.json", - "aws-kinesis-stream.json", "aws-kinesisanalytics-applicationoutput.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisanalyticsv2-applicationoutput.json", @@ -1353,7 +1350,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json deleted file mode 100644 index 6122cf0cee..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SecurityGroupIds", - "/properties/SubnetIds" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "SubnetIds", - "Name" - ], - "typeName": "AWS::ApiGatewayV2::VpcLink" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-taskset.json similarity index 87% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-taskset.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-taskset.json index 663d1205f9..3491488499 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-taskset.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-taskset.json @@ -9,8 +9,7 @@ "/properties/PlatformVersion", "/properties/Service", "/properties/ServiceRegistries", - "/properties/TaskDefinition", - "/properties/CapacityProviderStrategy" + "/properties/TaskDefinition" ], "definitions": { "AwsVpcConfiguration": { @@ -45,21 +44,6 @@ ], "type": "object" }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, "LoadBalancer": { "additionalProperties": false, "properties": { @@ -138,12 +122,6 @@ "/properties/Id" ], "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, "Cluster": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-guardduty-detector.json similarity index 95% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-guardduty-detector.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-guardduty-detector.json index 0632b1017c..efaad17ff9 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-guardduty-detector.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-guardduty-detector.json @@ -36,7 +36,6 @@ "additionalProperties": false, "properties": { "AdditionalConfiguration": { - "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" }, @@ -146,7 +145,6 @@ "type": "boolean" }, "Features": { - "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureConfiguration" }, @@ -164,7 +162,6 @@ "type": "string" }, "Tags": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -180,8 +177,7 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, + "tagUpdatable": false, "taggable": true }, "typeName": "AWS::GuardDuty::Detector" diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesis-stream.json similarity index 87% rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kinesis-stream.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesis-stream.json index 45b4ce6a6b..be1bc65c07 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kinesis-stream.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesis-stream.json @@ -1,5 +1,4 @@ { - "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "createOnlyProperties": [ "/properties/Name" diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-networkfirewall-firewallpolicy.json similarity index 96% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-networkfirewall-firewallpolicy.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-networkfirewall-firewallpolicy.json index 6c4c8f2af1..973b595561 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-networkfirewall-firewallpolicy.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-networkfirewall-firewallpolicy.json @@ -187,17 +187,6 @@ "StatefulEngineOptions": { "additionalProperties": false, "properties": { - "FlowTimeouts": { - "additionalProperties": false, - "properties": { - "TcpIdleTimeoutSeconds": { - "maximum": 600, - "minimum": 60, - "type": "integer" - } - }, - "type": "object" - }, "RuleOrder": { "$ref": "#/definitions/RuleOrder" }, diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 e14b185399..151115fbe3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -713,6 +713,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1706,9 +1707,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", "aws-efs-mounttarget.json", @@ -1957,6 +1956,8 @@ "aws-kendra-faq.json", "aws-kendra-index.json", "aws-kendraranking-executionplan.json", + "aws-kinesis-resourcepolicy.json", + "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-application.json", "aws-kinesisanalytics-applicationoutput.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} 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 be8958f797..50a8b182ea 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -1563,9 +1563,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", "aws-efs-mounttarget.json", @@ -1691,7 +1689,6 @@ "aws-groundstation-config.json", "aws-groundstation-dataflowendpointgroup.json", "aws-groundstation-missionprofile.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1788,7 +1785,6 @@ "aws-kafkaconnect-connector.json", "aws-kafkaconnect-customplugin.json", "aws-kafkaconnect-workerconfiguration.json", - "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-application.json", "aws-kinesisanalytics-applicationoutput.json", @@ -1915,7 +1911,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1999,7 +1994,6 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -2008,7 +2002,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-guardduty-detector.json similarity index 95% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-guardduty-detector.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-guardduty-detector.json index 0632b1017c..efaad17ff9 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-guardduty-detector.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-guardduty-detector.json @@ -36,7 +36,6 @@ "additionalProperties": false, "properties": { "AdditionalConfiguration": { - "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" }, @@ -146,7 +145,6 @@ "type": "boolean" }, "Features": { - "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureConfiguration" }, @@ -164,7 +162,6 @@ "type": "string" }, "Tags": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -180,8 +177,7 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, + "tagUpdatable": false, "taggable": true }, "typeName": "AWS::GuardDuty::Detector" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesis-stream.json similarity index 87% rename from src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesis-stream.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesis-stream.json index 45b4ce6a6b..be1bc65c07 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesis-stream.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesis-stream.json @@ -1,5 +1,4 @@ { - "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "createOnlyProperties": [ "/properties/Name" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-networkfirewall-firewallpolicy.json similarity index 96% rename from src/cfnlint/data/schemas/providers/ap_southeast_2/aws-networkfirewall-firewallpolicy.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-networkfirewall-firewallpolicy.json index 6c4c8f2af1..973b595561 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-networkfirewall-firewallpolicy.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-networkfirewall-firewallpolicy.json @@ -187,17 +187,6 @@ "StatefulEngineOptions": { "additionalProperties": false, "properties": { - "FlowTimeouts": { - "additionalProperties": false, - "properties": { - "TcpIdleTimeoutSeconds": { - "maximum": 600, - "minimum": 60, - "type": "integer" - } - }, - "type": "object" - }, "RuleOrder": { "$ref": "#/definitions/RuleOrder" }, diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json similarity index 98% rename from src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json index 9748b231ac..46000178b5 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json @@ -177,7 +177,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +264,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +303,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,7 +353,7 @@ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbsubnetgroup.json similarity index 62% rename from src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-eventsubscription.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbsubnetgroup.json index 10fa51a2d0..d228afbbad 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-eventsubscription.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbsubnetgroup.json @@ -1,8 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" + "/properties/DBSubnetGroupName" ], "definitions": { "Tag": { @@ -26,37 +25,22 @@ } }, "primaryIdentifier": [ - "/properties/SubscriptionName" + "/properties/DBSubnetGroupName" ], "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true + "DBSubnetGroupDescription": { + "type": "string" }, - "SnsTopicArn": { + "DBSubnetGroupName": { "type": "string" }, - "SourceIds": { + "SubnetIds": { "insertionOrder": false, "items": { "type": "string" }, "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" + "uniqueItems": false }, "Tags": { "insertionOrder": false, @@ -69,11 +53,19 @@ } }, "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" }, "required": [ - "SnsTopicArn" + "DBSubnetGroupDescription", + "SubnetIds" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplicationversion.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplicationversion.json index 941a6e9d2d..0558937133 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplicationversion.json @@ -9,7 +9,6 @@ ], "properties": { "Application": { - "pattern": "arn:.*", "type": "string" }, "CurrentRevisionId": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplicationversion.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplicationversion.json index 4006f060f8..f9797ed8ae 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplicationversion.json @@ -9,7 +9,6 @@ ], "properties": { "Application": { - "pattern": "arn:.*", "type": "string" }, "CurrentRevisionId": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 eb12e0c1ed..0f63ce5d4d 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -439,6 +439,7 @@ "AWS::KMS::Alias", "AWS::KMS::Key", "AWS::KMS::ReplicaKey", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalyticsV2::Application", @@ -1008,7 +1009,6 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-dynamodb-globaltable.json", @@ -1104,9 +1104,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", "aws-efs-mounttarget.json", @@ -1225,6 +1223,7 @@ "aws-internetmonitor-monitor.json", "aws-iot-policyprincipalattachment.json", "aws-iot-thingprincipalattachment.json", + "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalyticsv2-application.json", @@ -1312,7 +1311,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1409,7 +1407,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..03475784a5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + }, + "ServerNameIndication": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "pattern": "(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)", + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} 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 9412740329..089f62f285 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -654,6 +654,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1562,9 +1563,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", "aws-efs-mounttarget.json", @@ -1793,6 +1792,7 @@ "aws-kendra-faq.json", "aws-kendra-index.json", "aws-kendraranking-executionplan.json", + "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-applicationoutput.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplicationversion.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplicationversion.json index 941a6e9d2d..0558937133 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplicationversion.json @@ -9,7 +9,6 @@ ], "properties": { "Application": { - "pattern": "arn:.*", "type": "string" }, "CurrentRevisionId": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplicationversion.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplicationversion.json index 4006f060f8..f9797ed8ae 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplicationversion.json @@ -9,7 +9,6 @@ ], "properties": { "Application": { - "pattern": "arn:.*", "type": "string" }, "CurrentRevisionId": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 f8571e5350..e87d8c2e46 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -882,9 +882,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", "aws-efs-mounttarget.json", @@ -950,7 +948,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -982,7 +979,6 @@ "aws-imagebuilder-lifecyclepolicy.json", "aws-imagebuilder-workflow.json", "aws-internetmonitor-monitor.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1036,7 +1032,6 @@ "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesis-stream.json similarity index 87% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-kinesis-stream.json rename to src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesis-stream.json index 45b4ce6a6b..be1bc65c07 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-kinesis-stream.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesis-stream.json @@ -1,5 +1,4 @@ { - "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "createOnlyProperties": [ "/properties/Name" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 15df36ee80..9835d65c89 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -690,6 +690,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1672,9 +1673,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", "aws-efs-mounttarget.json", @@ -1899,6 +1898,8 @@ "aws-kendra-faq.json", "aws-kendra-index.json", "aws-kendraranking-executionplan.json", + "aws-kinesis-resourcepolicy.json", + "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-application.json", "aws-kinesisanalytics-applicationoutput.json", @@ -2135,7 +2136,6 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -2144,7 +2144,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json similarity index 98% rename from src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json index 9748b231ac..46000178b5 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json @@ -177,7 +177,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +264,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +303,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,7 +353,7 @@ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbsubnetgroup.json similarity index 62% rename from src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-eventsubscription.json rename to src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbsubnetgroup.json index 10fa51a2d0..d228afbbad 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-eventsubscription.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbsubnetgroup.json @@ -1,8 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" + "/properties/DBSubnetGroupName" ], "definitions": { "Tag": { @@ -26,37 +25,22 @@ } }, "primaryIdentifier": [ - "/properties/SubscriptionName" + "/properties/DBSubnetGroupName" ], "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true + "DBSubnetGroupDescription": { + "type": "string" }, - "SnsTopicArn": { + "DBSubnetGroupName": { "type": "string" }, - "SourceIds": { + "SubnetIds": { "insertionOrder": false, "items": { "type": "string" }, "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" + "uniqueItems": false }, "Tags": { "insertionOrder": false, @@ -69,11 +53,19 @@ } }, "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" }, "required": [ - "SnsTopicArn" + "DBSubnetGroupDescription", + "SubnetIds" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" } 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 0f6c1043fb..db6b898b6f 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -711,6 +711,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1697,9 +1698,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", "aws-efs-mounttarget.json", @@ -1941,6 +1940,7 @@ "aws-kendra-faq.json", "aws-kendra-index.json", "aws-kendraranking-executionplan.json", + "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-application.json", @@ -2029,14 +2029,12 @@ "aws-mediaconvert-jobtemplate.json", "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", "aws-medialive-eventbridgeruletemplate.json", "aws-medialive-eventbridgeruletemplategroup.json", - "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", "aws-medialive-multiplex.json", "aws-medialive-multiplexprogram.json", @@ -2077,6 +2075,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", + "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -2236,7 +2235,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-channel.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-channel.json new file mode 100644 index 0000000000..a6c907c033 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-channel.json @@ -0,0 +1,3591 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Vpc", + "/properties/AnywhereSettings" + ], + "definitions": { + "AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "Ac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "integer" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "AnywhereSettings": { + "additionalProperties": false, + "properties": { + "ChannelPlacementGroupId": { + "type": "string" + }, + "ClusterId": { + "type": "string" + } + }, + "type": "object" + }, + "ArchiveCdnSettings": { + "additionalProperties": false, + "properties": { + "ArchiveS3Settings": { + "$ref": "#/definitions/ArchiveS3Settings" + } + }, + "type": "object" + }, + "ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/RawSettings" + } + }, + "type": "object" + }, + "ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveCdnSettings": { + "$ref": "#/definitions/ArchiveCdnSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "RolloverInterval": { + "type": "integer" + } + }, + "type": "object" + }, + "ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "ArchiveS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AribDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AribSourceSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/InputChannelLevel" + }, + "type": "array", + "uniqueItems": false + }, + "OutputChannel": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/Ac3Settings" + }, + "Eac3AtmosSettings": { + "$ref": "#/definitions/Eac3AtmosSettings" + }, + "Eac3Settings": { + "$ref": "#/definitions/Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/WavSettings" + } + }, + "type": "object" + }, + "AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioDashRoles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AudioNormalizationSettings": { + "$ref": "#/definitions/AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "AudioWatermarkingSettings": { + "$ref": "#/definitions/AudioWatermarkSettings" + }, + "CodecSettings": { + "$ref": "#/definitions/AudioCodecSettings" + }, + "DvbDashAccessibility": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AudioDolbyEDecode": { + "additionalProperties": false, + "properties": { + "ProgramSelection": { + "type": "string" + } + }, + "type": "object" + }, + "AudioHlsRenditionSelection": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AudioSelectorSettings" + } + }, + "type": "object" + }, + "AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioHlsRenditionSelection": { + "$ref": "#/definitions/AudioHlsRenditionSelection" + }, + "AudioLanguageSelection": { + "$ref": "#/definitions/AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AudioTrackSelection" + } + }, + "type": "object" + }, + "AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "DolbyEDecode": { + "$ref": "#/definitions/AudioDolbyEDecode" + }, + "Tracks": { + "items": { + "$ref": "#/definitions/AudioTrack" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "AudioWatermarkSettings": { + "additionalProperties": false, + "properties": { + "NielsenWatermarksSettings": { + "$ref": "#/definitions/NielsenWatermarksSettings" + } + }, + "type": "object" + }, + "AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "integer" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/FailoverCondition" + }, + "type": "array", + "uniqueItems": false + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "Av1ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + } + }, + "type": "object" + }, + "Av1Settings": { + "additionalProperties": false, + "properties": { + "AfdSignaling": { + "type": "string" + }, + "BufSize": { + "type": "integer" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/Av1ColorSpaceSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "integer" + }, + "MinIInterval": { + "type": "integer" + }, + "ParDenominator": { + "type": "integer" + }, + "ParNumerator": { + "type": "integer" + }, + "QvbrQualityLevel": { + "type": "integer" + }, + "SceneChangeDetect": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + } + }, + "type": "object" + }, + "AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AvailSettings" + }, + "Scte35SegmentationScope": { + "type": "string" + } + }, + "type": "object" + }, + "AvailSettings": { + "additionalProperties": false, + "properties": { + "Esam": { + "$ref": "#/definitions/Esam" + }, + "Scte35SpliceInsert": { + "$ref": "#/definitions/Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "BandwidthReductionFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "integer" + }, + "Font": { + "$ref": "#/definitions/InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "integer" + }, + "FontResolution": { + "type": "integer" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "integer" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "integer" + }, + "ShadowXOffset": { + "type": "integer" + }, + "ShadowYOffset": { + "type": "integer" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "integer" + }, + "YPosition": { + "type": "integer" + } + }, + "type": "object" + }, + "CaptionDescription": { + "additionalProperties": false, + "properties": { + "Accessibility": { + "type": "string" + }, + "CaptionDashRoles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/CaptionDestinationSettings" + }, + "DvbDashAccessibility": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/WebvttDestinationSettings" + } + }, + "type": "object" + }, + "CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "integer" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "CaptionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "LeftOffset": { + "type": "number" + }, + "TopOffset": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/CaptionSelectorSettings" + } + }, + "type": "object" + }, + "CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/TeletextSourceSettings" + } + }, + "type": "object" + }, + "CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "CmafIngestGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "Scte35Type": { + "type": "string" + }, + "SegmentLength": { + "type": "integer" + }, + "SegmentLengthUnits": { + "type": "string" + }, + "SendDelayMs": { + "type": "integer" + } + }, + "type": "object" + }, + "CmafIngestOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "ColorCorrection": { + "additionalProperties": false, + "properties": { + "InputColorSpace": { + "type": "string" + }, + "OutputColorSpace": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, + "ColorCorrectionSettings": { + "additionalProperties": false, + "properties": { + "GlobalColorCorrections": { + "items": { + "$ref": "#/definitions/ColorCorrection" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "ColorSpacePassthroughSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "DolbyVision81Settings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "integer" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "integer" + } + }, + "type": "object" + }, + "DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "integer" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "integer" + }, + "Font": { + "$ref": "#/definitions/InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "integer" + }, + "FontResolution": { + "type": "integer" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "integer" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "integer" + }, + "ShadowXOffset": { + "type": "integer" + }, + "ShadowYOffset": { + "type": "integer" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "integer" + }, + "YPosition": { + "type": "integer" + } + }, + "type": "object" + }, + "DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "OcrLanguage": { + "type": "string" + }, + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "integer" + } + }, + "type": "object" + }, + "Eac3AtmosSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "integer" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "HeightTrim": { + "type": "number" + }, + "SurroundTrim": { + "type": "number" + } + }, + "type": "object" + }, + "Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "integer" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "CopyrightHolder": { + "type": "string" + }, + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "EmbeddedDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "EmbeddedPlusScte20DestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "integer" + }, + "Source608TrackNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AudioDescription" + }, + "type": "array", + "uniqueItems": false + }, + "AvailBlanking": { + "$ref": "#/definitions/AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/CaptionDescription" + }, + "type": "array", + "uniqueItems": false + }, + "ColorCorrectionSettings": { + "$ref": "#/definitions/ColorCorrectionSettings" + }, + "FeatureActivations": { + "$ref": "#/definitions/FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/GlobalConfiguration" + }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/MotionGraphicsConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/OutputGroup" + }, + "type": "array", + "uniqueItems": false + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/ThumbnailConfiguration" + }, + "TimecodeConfig": { + "$ref": "#/definitions/TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/VideoDescription" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EpochLockingSettings": { + "additionalProperties": false, + "properties": { + "CustomEpoch": { + "type": "string" + }, + "JamSyncTime": { + "type": "string" + } + }, + "type": "object" + }, + "Esam": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AdAvailOffset": { + "type": "integer" + }, + "PasswordParam": { + "type": "string" + }, + "PoisEndpoint": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ZoneIdentity": { + "type": "string" + } + }, + "type": "object" + }, + "FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/FailoverConditionSettings" + } + }, + "type": "object" + }, + "FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + }, + "OutputStaticImageOverlayScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "integer" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "integer" + } + }, + "type": "object" + }, + "Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "FrameCaptureCdnSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureS3Settings": { + "$ref": "#/definitions/FrameCaptureS3Settings" + } + }, + "type": "object" + }, + "FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "FrameCaptureCdnSettings": { + "$ref": "#/definitions/FrameCaptureCdnSettings" + } + }, + "type": "object" + }, + "FrameCaptureHlsSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "FrameCaptureS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "integer" + }, + "CaptureIntervalUnits": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + } + }, + "type": "object" + }, + "GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "integer" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputLockingSettings": { + "$ref": "#/definitions/OutputLockingSettings" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + } + }, + "type": "object" + }, + "H264FilterSettings": { + "additionalProperties": false, + "properties": { + "BandwidthReductionFilterSettings": { + "$ref": "#/definitions/BandwidthReductionFilterSettings" + }, + "TemporalFilterSettings": { + "$ref": "#/definitions/TemporalFilterSettings" + } + }, + "type": "object" + }, + "H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "integer" + }, + "BufFillPct": { + "type": "integer" + }, + "BufSize": { + "type": "integer" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "integer" + }, + "GopNumBFrames": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "integer" + }, + "MinIInterval": { + "type": "integer" + }, + "MinQp": { + "type": "integer" + }, + "NumRefFrames": { + "type": "integer" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "integer" + }, + "ParNumerator": { + "type": "integer" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "integer" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "integer" + }, + "Softness": { + "type": "integer" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "DolbyVision81Settings": { + "$ref": "#/definitions/DolbyVision81Settings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + } + }, + "type": "object" + }, + "H265FilterSettings": { + "additionalProperties": false, + "properties": { + "BandwidthReductionFilterSettings": { + "$ref": "#/definitions/BandwidthReductionFilterSettings" + }, + "TemporalFilterSettings": { + "$ref": "#/definitions/TemporalFilterSettings" + } + }, + "type": "object" + }, + "H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "integer" + }, + "BufSize": { + "type": "integer" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopClosedCadence": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "integer" + }, + "MinIInterval": { + "type": "integer" + }, + "MinQp": { + "type": "integer" + }, + "MvOverPictureBoundaries": { + "type": "string" + }, + "MvTemporalPredictor": { + "type": "string" + }, + "ParDenominator": { + "type": "integer" + }, + "ParNumerator": { + "type": "integer" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "integer" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "integer" + }, + "Tier": { + "type": "string" + }, + "TileHeight": { + "type": "integer" + }, + "TilePadding": { + "type": "string" + }, + "TileWidth": { + "type": "integer" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "TimecodeInsertion": { + "type": "string" + }, + "TreeblockSize": { + "type": "string" + } + }, + "type": "object" + }, + "Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "integer" + }, + "MaxFall": { + "type": "integer" + } + }, + "type": "object" + }, + "HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/HlsMediaStoreSettings" + }, + "HlsS3Settings": { + "$ref": "#/definitions/HlsS3Settings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/HlsWebdavSettings" + } + }, + "type": "object" + }, + "HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/CaptionLanguageMapping" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "integer" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "integer" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "integer" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimeClock": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "integer" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "integer" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "integer" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "integer" + }, + "TimestampDeltaMilliseconds": { + "type": "integer" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "integer" + }, + "BufferSegments": { + "type": "integer" + }, + "Retries": { + "type": "integer" + }, + "RetryInterval": { + "type": "integer" + }, + "Scte35Source": { + "type": "string" + } + }, + "type": "object" + }, + "HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "HlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/Fmp4HlsSettings" + }, + "FrameCaptureHlsSettings": { + "$ref": "#/definitions/FrameCaptureHlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/StandardHlsSettings" + } + }, + "type": "object" + }, + "HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "HtmlMotionGraphicsSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/InputSettings" + }, + "LogicalInterfaceNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "integer" + }, + "InputChannel": { + "type": "integer" + } + }, + "type": "object" + }, + "InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "integer" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AudioSelector" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/CaptionSelector" + }, + "type": "array", + "uniqueItems": false + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "integer" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/NetworkInputSettings" + }, + "Scte35Pid": { + "type": "integer" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/VideoSelector" + } + }, + "type": "object" + }, + "InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/StaticKeySettings" + } + }, + "type": "object" + }, + "M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "integer" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "integer" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "integer" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "integer" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "integer" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "integer" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "integer" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "Scte35PrerollPullupMilliseconds": { + "type": "number" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "integer" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "integer" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "KlvBehavior": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "integer" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "integer" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "integer" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "integer" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "integer" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "MaintenanceCreateSettings": { + "additionalProperties": false, + "properties": { + "MaintenanceDay": { + "type": "string" + }, + "MaintenanceStartTime": { + "type": "string" + } + }, + "type": "object" + }, + "MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + } + }, + "type": "object" + }, + "MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "MediaPackageOutputSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/MotionGraphicsSettings" + } + }, + "type": "object" + }, + "MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, + "Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/TemporalFilterSettings" + } + }, + "type": "object" + }, + "Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopClosedCadence": { + "type": "integer" + }, + "GopNumBFrames": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "integer" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "integer" + }, + "FragmentLength": { + "type": "integer" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "integer" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "MulticastInputSettings": { + "additionalProperties": false, + "properties": { + "SourceIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "MultiplexContainerSettings": { + "additionalProperties": false, + "properties": { + "MultiplexM2tsSettings": { + "$ref": "#/definitions/MultiplexM2tsSettings" + } + }, + "type": "object" + }, + "MultiplexGroupSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "MultiplexM2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "integer" + }, + "AudioStreamType": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "Klv": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "integer" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35PrerollPullupMilliseconds": { + "type": "number" + } + }, + "type": "object" + }, + "MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/MultiplexContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + } + }, + "type": "object" + }, + "MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/HlsInputSettings" + }, + "MulticastInputSettings": { + "$ref": "#/definitions/MulticastInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenCBET": { + "additionalProperties": false, + "properties": { + "CbetCheckDigitString": { + "type": "string" + }, + "CbetStepaside": { + "type": "string" + }, + "Csid": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenNaesIiNw": { + "additionalProperties": false, + "properties": { + "CheckDigitString": { + "type": "string" + }, + "Sid": { + "type": "number" + }, + "Timezone": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenWatermarksSettings": { + "additionalProperties": false, + "properties": { + "NielsenCbetSettings": { + "$ref": "#/definitions/NielsenCBET" + }, + "NielsenDistributionType": { + "type": "string" + }, + "NielsenNaesIiNwSettings": { + "$ref": "#/definitions/NielsenNaesIiNw" + } + }, + "type": "object" + }, + "Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/MediaPackageOutputDestinationSettings" + }, + "type": "array", + "uniqueItems": false + }, + "MultiplexSettings": { + "$ref": "#/definitions/MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/OutputDestinationSettings" + }, + "type": "array", + "uniqueItems": false + }, + "SrtSettings": { + "items": { + "$ref": "#/definitions/SrtOutputDestinationSettings" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/Output" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/ArchiveGroupSettings" + }, + "CmafIngestGroupSettings": { + "$ref": "#/definitions/CmafIngestGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/RtmpGroupSettings" + }, + "SrtGroupSettings": { + "$ref": "#/definitions/SrtGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/UdpGroupSettings" + } + }, + "type": "object" + }, + "OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "OutputLockingSettings": { + "additionalProperties": false, + "properties": { + "EpochLockingSettings": { + "$ref": "#/definitions/EpochLockingSettings" + }, + "PipelineLockingSettings": { + "$ref": "#/definitions/PipelineLockingSettings" + } + }, + "type": "object" + }, + "OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/ArchiveOutputSettings" + }, + "CmafIngestOutputSettings": { + "$ref": "#/definitions/CmafIngestOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/RtmpOutputSettings" + }, + "SrtOutputSettings": { + "$ref": "#/definitions/SrtOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/UdpOutputSettings" + } + }, + "type": "object" + }, + "PassThroughSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "PipelineLockingSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "RawSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Rec601Settings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Rec709Settings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AudioChannelMapping" + }, + "type": "array", + "uniqueItems": false + }, + "ChannelsIn": { + "type": "integer" + }, + "ChannelsOut": { + "type": "integer" + } + }, + "type": "object" + }, + "RtmpCaptionInfoDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "integer" + }, + "CaptionData": { + "type": "string" + }, + "IncludeFillerNalUnits": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "integer" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "NumRetries": { + "type": "integer" + } + }, + "type": "object" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "Scte27DestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "OcrLanguage": { + "type": "string" + }, + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "integer" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "integer" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "SmpteTtDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "SrtGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + } + }, + "type": "object" + }, + "SrtOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "EncryptionPassphraseSecretArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "SrtOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "integer" + }, + "ContainerSettings": { + "$ref": "#/definitions/UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "EncryptionType": { + "type": "string" + }, + "Latency": { + "type": "integer" + } + }, + "type": "object" + }, + "StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/M3u8Settings" + } + }, + "type": "object" + }, + "StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "TeletextDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "OutputRectangle": { + "$ref": "#/definitions/CaptionRectangle" + }, + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "type": "object" + }, + "TimecodeBurninSettings": { + "additionalProperties": false, + "properties": { + "FontSize": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, + "TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "integer" + } + }, + "type": "object" + }, + "TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/M2tsSettings" + } + }, + "type": "object" + }, + "UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "integer" + } + }, + "type": "object" + }, + "UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "integer" + }, + "ContainerSettings": { + "$ref": "#/definitions/UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/FecOutputSettings" + } + }, + "type": "object" + }, + "VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "Av1Settings": { + "$ref": "#/definitions/Av1Settings" + }, + "FrameCaptureSettings": { + "$ref": "#/definitions/FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/Mpeg2Settings" + } + }, + "type": "object" + }, + "VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/VideoCodecSettings" + }, + "Height": { + "type": "integer" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "integer" + }, + "Width": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/VideoSelectorColorSpaceSettings" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/VideoSelectorSettings" + } + }, + "type": "object" + }, + "VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + } + }, + "type": "object" + }, + "VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/VideoSelectorProgramId" + } + }, + "type": "object" + }, + "VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "WebvttDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AnywhereSettings": { + "$ref": "#/definitions/AnywhereSettings" + }, + "Arn": { + "type": "string" + }, + "CdiInputSpecification": { + "$ref": "#/definitions/CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/OutputDestination" + }, + "type": "array", + "uniqueItems": false + }, + "EncoderSettings": { + "$ref": "#/definitions/EncoderSettings" + }, + "Id": { + "type": "string" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/InputAttachment" + }, + "type": "array", + "uniqueItems": false + }, + "InputSpecification": { + "$ref": "#/definitions/InputSpecification" + }, + "Inputs": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LogLevel": { + "type": "string" + }, + "Maintenance": { + "$ref": "#/definitions/MaintenanceCreateSettings" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Vpc": { + "$ref": "#/definitions/VpcOutputSettings" + } + }, + "readOnlyProperties": [ + "/properties/Inputs", + "/properties/Id", + "/properties/Arn" + ], + "typeName": "AWS::MediaLive::Channel" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-input.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-input.json new file mode 100644 index 0000000000..da0d73a7e8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-input.json @@ -0,0 +1,249 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Vpc", + "/properties/Type", + "/properties/InputNetworkLocation" + ], + "definitions": { + "InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "Network": { + "type": "string" + }, + "NetworkRoutes": { + "items": { + "$ref": "#/definitions/InputRequestDestinationRoute" + }, + "type": "array", + "uniqueItems": false + }, + "StaticIpAddress": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "InputRequestDestinationRoute": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Gateway": { + "type": "string" + } + }, + "type": "object" + }, + "InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "MulticastSettingsCreateRequest": { + "additionalProperties": false, + "properties": { + "Sources": { + "items": { + "$ref": "#/definitions/MulticastSourceCreateRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "MulticastSourceCreateRequest": { + "additionalProperties": false, + "properties": { + "SourceIp": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "SrtCallerDecryptionRequest": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "PassphraseSecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "SrtCallerSourceRequest": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/SrtCallerDecryptionRequest" + }, + "MinimumLatency": { + "type": "integer" + }, + "SrtListenerAddress": { + "type": "string" + }, + "SrtListenerPort": { + "type": "string" + }, + "StreamId": { + "type": "string" + } + }, + "type": "object" + }, + "SrtSettingsRequest": { + "additionalProperties": false, + "properties": { + "SrtCallerSources": { + "items": { + "$ref": "#/definitions/SrtCallerSourceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/InputDestinationRequest" + }, + "type": "array", + "uniqueItems": false + }, + "Id": { + "type": "string" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/InputDeviceSettings" + }, + "type": "array", + "uniqueItems": false + }, + "InputNetworkLocation": { + "type": "string" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/MediaConnectFlowRequest" + }, + "type": "array", + "uniqueItems": false + }, + "MulticastSettings": { + "$ref": "#/definitions/MulticastSettingsCreateRequest" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/InputSourceRequest" + }, + "type": "array", + "uniqueItems": false + }, + "SrtSettings": { + "$ref": "#/definitions/SrtSettingsRequest" + }, + "Tags": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/InputVpcRequest" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "typeName": "AWS::MediaLive::Input" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplicationversion.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplicationversion.json index 941a6e9d2d..0558937133 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplicationversion.json @@ -9,7 +9,6 @@ ], "properties": { "Application": { - "pattern": "arn:.*", "type": "string" }, "CurrentRevisionId": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplicationversion.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplicationversion.json index 4006f060f8..f9797ed8ae 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplicationversion.json @@ -9,7 +9,6 @@ ], "properties": { "Application": { - "pattern": "arn:.*", "type": "string" }, "CurrentRevisionId": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..03475784a5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + }, + "ServerNameIndication": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "pattern": "(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)", + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} 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 afea8d81f5..0533f234dc 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -973,9 +973,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", "aws-efs-mounttarget.json", @@ -1052,7 +1050,6 @@ "aws-glue-table.json", "aws-glue-trigger.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1092,7 +1089,6 @@ "aws-iotwireless-multicastgroup.json", "aws-iotwireless-serviceprofile.json", "aws-iotwireless-wirelessdevice.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1137,7 +1133,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 7eff9e88b2..be02c128de 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -869,9 +869,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", "aws-efs-mounttarget.json", @@ -934,7 +932,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -965,7 +962,6 @@ "aws-imagebuilder-lifecyclepolicy.json", "aws-imagebuilder-workflow.json", "aws-internetmonitor-monitor.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1029,7 +1025,6 @@ "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1061,7 +1056,6 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -1070,7 +1064,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", @@ -1126,6 +1119,7 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", + "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json similarity index 51% rename from src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json index cc38cb577b..46000178b5 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json @@ -1,54 +1,29 @@ { "additionalProperties": false, "conditionalCreateOnlyProperties": [ - "/properties/AutoMinorVersionUpgrade", - "/properties/AvailabilityZone", - "/properties/BackupRetentionPeriod", - "/properties/DBClusterSnapshotIdentifier", - "/properties/DBParameterGroupName", - "/properties/DBSnapshotIdentifier", "/properties/Engine", - "/properties/MultiAZ", - "/properties/PerformanceInsightsKMSKeyId", - "/properties/PreferredMaintenanceWindow", - "/properties/RestoreTime", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/StorageType", - "/properties/UseLatestRestorableTime" + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" ], "createOnlyProperties": [ - "/properties/CharacterSetName", - "/properties/CustomIAMInstanceProfile", + "/properties/AvailabilityZones", "/properties/DBClusterIdentifier", - "/properties/DBInstanceIdentifier", - "/properties/DBName", "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", "/properties/KmsKeyId", - "/properties/MasterUsername", - "/properties/NcharCharacterSetName", - "/properties/Port", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", "/properties/SourceRegion", "/properties/StorageEncrypted", - "/properties/Timezone" + "/properties/UseLatestRestorableTime" ], "definitions": { - "CertificateDetails": { - "additionalProperties": false, - "properties": { - "CAIdentifier": { - "type": "string" - }, - "ValidTill": { - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "DBInstanceRole": { + "DBClusterRole": { "additionalProperties": false, "properties": { "FeatureName": { @@ -59,7 +34,6 @@ } }, "required": [ - "FeatureName", "RoleArn" ], "type": "object" @@ -70,9 +44,6 @@ "Address": { "type": "string" }, - "HostedZoneId": { - "type": "string" - }, "Port": { "type": "string" } @@ -91,22 +62,51 @@ }, "type": "object" }, - "ProcessorFeature": { + "ReadEndpoint": { "additionalProperties": false, "properties": { - "Name": { - "enum": [ - "coreCount", - "threadsPerCore" - ], + "Address": { "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" }, - "Value": { + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { "type": "string" } }, "type": "object" }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, "Tag": { "additionalProperties": false, "properties": { @@ -127,119 +127,62 @@ "type": "object" } }, - "dependencies": { - "KmsKeyId": { - "properties": { - "StorageEncrypted": { - "enum": [ - "true", - "True", - true - ] - } - }, - "required": [ - "StorageEncrypted" - ] - } - }, - "dependentExcluded": { - "SourceDBInstanceIdentifier": [ - "CharacterSetName", - "MasterUserPassword", - "MasterUsername", - "StorageEncrypted" - ] - }, - "deprecatedProperties": [ - "/properties/TdeCredentialArn", - "/properties/TdeCredentialPassword" - ], "primaryIdentifier": [ - "/properties/DBInstanceIdentifier" + "/properties/DBClusterIdentifier" ], "properties": { "AllocatedStorage": { - "pattern": "^[0-9]*$", - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" + "type": "integer" }, "AssociatedRoles": { "items": { - "$ref": "#/definitions/DBInstanceRole" + "$ref": "#/definitions/DBClusterRole" }, - "type": "array" + "type": "array", + "uniqueItems": true }, "AutoMinorVersionUpgrade": { "type": "boolean" }, - "AutomaticBackupReplicationKmsKeyId": { - "type": "string" - }, - "AutomaticBackupReplicationRegion": { - "type": "string" + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true }, - "AvailabilityZone": { - "type": "string" + "BacktrackWindow": { + "minimum": 0, + "type": "integer" }, "BackupRetentionPeriod": { "default": 1, "maximum": 35, - "minimum": 0, + "minimum": 1, "type": "integer" }, - "CACertificateIdentifier": { - "type": "string" - }, - "CertificateDetails": { - "$ref": "#/definitions/CertificateDetails" - }, - "CertificateRotationRestart": { - "type": "boolean" - }, - "CharacterSetName": { - "type": "string" - }, "CopyTagsToSnapshot": { "type": "boolean" }, - "CustomIAMInstanceProfile": { + "DBClusterArn": { "type": "string" }, "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "type": "string" - }, - "DBInstanceArn": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { "maxLength": 63, "minLength": 1, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", "type": "string" }, - "DBName": { + "DBClusterInstanceClass": { "type": "string" }, - "DBParameterGroupName": { + "DBClusterParameterGroupName": { "type": "string" }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true + "DBClusterResourceId": { + "type": "string" }, - "DBSnapshotIdentifier": { + "DBInstanceParameterGroupName": { "type": "string" }, "DBSubnetGroupName": { @@ -248,49 +191,35 @@ "DBSystemId": { "type": "string" }, - "DbiResourceId": { + "DatabaseName": { "type": "string" }, - "DedicatedLogVolume": { - "type": "boolean" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, "DeletionProtection": { "type": "boolean" }, "Domain": { "type": "string" }, - "DomainAuthSecretArn": { - "type": "string" - }, - "DomainDnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainFqdn": { - "type": "string" - }, "DomainIAMRoleName": { "type": "string" }, - "DomainOu": { - "type": "string" - }, "EnableCloudwatchLogsExports": { "items": { "type": "string" }, - "type": "array" + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" }, "EnableIAMDatabaseAuthentication": { "type": "boolean" }, - "EnablePerformanceInsights": { + "EnableLocalWriteForwarding": { "type": "boolean" }, "Endpoint": { @@ -302,18 +231,24 @@ "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" }, - "LicenseModel": { - "type": "string" - }, "ManageMasterUserPassword": { "type": "boolean" }, @@ -324,69 +259,30 @@ "$ref": "#/definitions/MasterUserSecret" }, "MasterUsername": { - "maxLength": 128, "minLength": 1, - "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", "type": "string" }, - "MaxAllocatedStorage": { - "type": "integer" - }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { "type": "string" }, - "MultiAZ": { - "type": "boolean" - }, - "NcharCharacterSetName": { - "type": "string" - }, "NetworkType": { "type": "string" }, - "OptionGroupName": { - "type": "string" + "PerformanceInsightsEnabled": { + "type": "boolean" }, - "PerformanceInsightsKMSKeyId": { + "PerformanceInsightsKmsKeyId": { "type": "string" }, "PerformanceInsightsRetentionPeriod": { - "enum": [ - 7, - 31, - 62, - 93, - 124, - 155, - 186, - 217, - 248, - 279, - 310, - 341, - 372, - 403, - 434, - 465, - 496, - 527, - 558, - 589, - 620, - 651, - 682, - 713, - 731 - ], "type": "integer" }, "Port": { - "pattern": "^\\d*$", - "type": "string" + "type": "integer" }, "PreferredBackupWindow": { "type": "string" @@ -394,42 +290,31 @@ "PreferredMaintenanceWindow": { "type": "string" }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "default": 1, - "maximum": 15, - "minimum": 0, - "type": "integer" - }, "PubliclyAccessible": { "type": "boolean" }, - "ReplicaMode": { - "enum": [ - "mounted", - "open-read-only" - ], - "type": "string" + "ReadEndpoint": { + "$ref": "#/definitions/ReadEndpoint" }, - "RestoreTime": { - "format": "date-time", + "ReplicationSourceIdentifier": { "type": "string" }, - "SourceDBClusterIdentifier": { + "RestoreToTime": { "type": "string" }, - "SourceDBInstanceAutomatedBackupsArn": { + "RestoreType": { "type": "string" }, - "SourceDBInstanceIdentifier": { + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { "type": "string" }, - "SourceDbiResourceId": { + "SourceDBClusterIdentifier": { "type": "string" }, "SourceRegion": { @@ -449,25 +334,14 @@ "items": { "$ref": "#/definitions/Tag" }, + "maxItems": 50, "type": "array", - "uniqueItems": false - }, - "TdeCredentialArn": { - "type": "string" - }, - "TdeCredentialPassword": { - "type": "string" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" + "uniqueItems": true }, "UseLatestRestorableTime": { "type": "boolean" }, - "VPCSecurityGroups": { + "VpcSecurityGroupIds": { "items": { "type": "string" }, @@ -477,52 +351,47 @@ }, "propertyTransform": { "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", - "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", - "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", - "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/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:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/OptionGroupName": "$lowercase(OptionGroupName)", - "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKMSKeyId])", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", - "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", + "/properties/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/Endpoint/HostedZoneId", - "/properties/DbiResourceId", - "/properties/DBInstanceArn", - "/properties/DBSystemId", + "/properties/ReadEndpoint/Address", "/properties/MasterUserSecret/SecretArn", - "/properties/CertificateDetails/CAIdentifier", - "/properties/CertificateDetails/ValidTill" + "/properties/StorageThroughput" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::RDS::DBInstance", + "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/AllowMajorVersionUpgrade", - "/properties/AutomaticBackupReplicationKmsKeyId", - "/properties/CertificateRotationRestart", - "/properties/DBSnapshotIdentifier", - "/properties/DeleteAutomatedBackups", + "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", - "/properties/Port", - "/properties/RestoreTime", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", "/properties/SourceRegion", - "/properties/TdeCredentialPassword", - "/properties/UseDefaultProcessorFeatures", "/properties/UseLatestRestorableTime" ] } diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbsubnetgroup.json similarity index 58% rename from src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbparametergroup.json rename to src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbsubnetgroup.json index 8d14cf78b9..d228afbbad 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbsubnetgroup.json @@ -1,9 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/DBParameterGroupName", - "/properties/Description", - "/properties/Family" + "/properties/DBSubnetGroupName" ], "definitions": { "Tag": { @@ -27,25 +25,22 @@ } }, "primaryIdentifier": [ - "/properties/DBParameterGroupName" + "/properties/DBSubnetGroupName" ], "properties": { - "DBParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", + "DBSubnetGroupDescription": { "type": "string" }, - "Description": { + "DBSubnetGroupName": { "type": "string" }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] + "SubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false }, "Tags": { "insertionOrder": false, @@ -58,12 +53,19 @@ } }, "propertyTransform": { - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)" + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" }, "required": [ - "Family", - "Description" + "DBSubnetGroupDescription", + "SubnetIds" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBParameterGroup" + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" } diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 0aa9554d72..8c391bbfcd 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py @@ -490,9 +490,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", "aws-efs-mounttarget.json", @@ -539,7 +537,6 @@ "aws-imagebuilder-imagerecipe.json", "aws-imagebuilder-infrastructureconfiguration.json", "aws-imagebuilder-workflow.json", - "aws-kinesis-stream.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", @@ -572,13 +569,11 @@ "aws-organizations-resourcepolicy.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-optiongroup.json", @@ -605,6 +600,7 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", + "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-hub.json", "aws-securityhub-organizationconfiguration.json", "aws-servicediscovery-httpnamespace.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json new file mode 100644 index 0000000000..46000178b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json @@ -0,0 +1,397 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "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:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", + "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", + "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", + "/properties/StorageType": "$lowercase(StorageType)" + }, + "readOnlyProperties": [ + "/properties/DBClusterArn", + "/properties/DBClusterResourceId", + "/properties/Endpoint", + "/properties/Endpoint/Address", + "/properties/Endpoint/Port", + "/properties/ReadEndpoint/Address", + "/properties/MasterUserSecret/SecretArn", + "/properties/StorageThroughput" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..d228afbbad --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbsubnetgroup.json @@ -0,0 +1,71 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DBSubnetGroupName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBSubnetGroupName" + ], + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-secretsmanager-secrettargetattachment.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-secretsmanager-secrettargetattachment.json deleted file mode 100644 index 8b5501d290..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-secretsmanager-secrettargetattachment.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "SecretId", - "TargetType", - "TargetId" - ], - "typeName": "AWS::SecretsManager::SecretTargetAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py index 0737b21a1f..2165634e84 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -605,6 +605,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1507,9 +1508,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", "aws-efs-mounttarget.json", @@ -1689,6 +1688,7 @@ "aws-kendra-faq.json", "aws-kendra-index.json", "aws-kendraranking-executionplan.json", + "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-applicationoutput.json", @@ -1809,7 +1809,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 6a407dd8ed..bca5e667ac 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -764,9 +764,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", "aws-efs-mounttarget.json", @@ -817,13 +815,13 @@ "aws-glue-datacatalogencryptionsettings.json", "aws-glue-dataqualityruleset.json", "aws-glue-devendpoint.json", + "aws-glue-job.json", "aws-glue-mltransform.json", "aws-glue-partition.json", "aws-glue-securityconfiguration.json", "aws-glue-table.json", "aws-glue-trigger.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -848,7 +846,6 @@ "aws-imagebuilder-imagerecipe.json", "aws-imagebuilder-infrastructureconfiguration.json", "aws-imagebuilder-workflow.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -886,7 +883,6 @@ "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -920,13 +916,19 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", + "aws-rds-dbcluster.json", + "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", + "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", "aws-rds-dbsubnetgroup.json", + "aws-rds-eventsubscription.json", "aws-rds-integration.json", + "aws-rds-optiongroup.json", "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-job.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-job.json deleted file mode 100644 index 10b7901aa4..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-job.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/JobCommand" - }, - "Connections": { - "$ref": "#/definitions/ConnectionsList" - }, - "DefaultArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Description": { - "type": "string" - }, - "ExecutionClass": { - "enum": [ - "FLEX", - "STANDARD" - ], - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/ExecutionProperty" - }, - "GlueVersion": { - "pattern": "^\\w+\\.\\w+$", - "type": "string" - }, - "Id": { - "type": "string" - }, - "JobMode": { - "enum": [ - "NOTEBOOK", - "SCRIPT", - "VISUAL" - ], - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaintenanceWindow": { - "pattern": "^(Sun|Mon|Tue|Wed|Thu|Fri|Sat):([01]?[0-9]|2[0-3])$", - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NonOverridableArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "NumberOfWorkers": { - "maximum": 299, - "minimum": 0, - "type": "integer" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "type": "integer" - }, - "WorkerType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Command" - ], - "typeName": "AWS::Glue::Job" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbclusterparametergroup.json deleted file mode 100644 index 72b2c49945..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbclusterparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBClusterParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBClusterParameterGroupName" - ], - "properties": { - "DBClusterParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array" - } - }, - "propertyTransform": { - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)" - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBClusterParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json deleted file mode 100644 index cc38cb577b..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json +++ /dev/null @@ -1,528 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/AutoMinorVersionUpgrade", - "/properties/AvailabilityZone", - "/properties/BackupRetentionPeriod", - "/properties/DBClusterSnapshotIdentifier", - "/properties/DBParameterGroupName", - "/properties/DBSnapshotIdentifier", - "/properties/Engine", - "/properties/MultiAZ", - "/properties/PerformanceInsightsKMSKeyId", - "/properties/PreferredMaintenanceWindow", - "/properties/RestoreTime", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/StorageType", - "/properties/UseLatestRestorableTime" - ], - "createOnlyProperties": [ - "/properties/CharacterSetName", - "/properties/CustomIAMInstanceProfile", - "/properties/DBClusterIdentifier", - "/properties/DBInstanceIdentifier", - "/properties/DBName", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/MasterUsername", - "/properties/NcharCharacterSetName", - "/properties/Port", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/Timezone" - ], - "definitions": { - "CertificateDetails": { - "additionalProperties": false, - "properties": { - "CAIdentifier": { - "type": "string" - }, - "ValidTill": { - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "enum": [ - "coreCount", - "threadsPerCore" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "dependencies": { - "KmsKeyId": { - "properties": { - "StorageEncrypted": { - "enum": [ - "true", - "True", - true - ] - } - }, - "required": [ - "StorageEncrypted" - ] - } - }, - "dependentExcluded": { - "SourceDBInstanceIdentifier": [ - "CharacterSetName", - "MasterUserPassword", - "MasterUsername", - "StorageEncrypted" - ] - }, - "deprecatedProperties": [ - "/properties/TdeCredentialArn", - "/properties/TdeCredentialPassword" - ], - "primaryIdentifier": [ - "/properties/DBInstanceIdentifier" - ], - "properties": { - "AllocatedStorage": { - "pattern": "^[0-9]*$", - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticBackupReplicationKmsKeyId": { - "type": "string" - }, - "AutomaticBackupReplicationRegion": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 0, - "type": "integer" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CertificateDetails": { - "$ref": "#/definitions/CertificateDetails" - }, - "CertificateRotationRestart": { - "type": "boolean" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "CustomIAMInstanceProfile": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "type": "string" - }, - "DBInstanceArn": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DbiResourceId": { - "type": "string" - }, - "DedicatedLogVolume": { - "type": "boolean" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainAuthSecretArn": { - "type": "string" - }, - "DomainDnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainFqdn": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "DomainOu": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "integer" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "NcharCharacterSetName": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "enum": [ - 7, - 31, - 62, - 93, - 124, - 155, - 186, - 217, - 248, - 279, - 310, - 341, - 372, - 403, - 434, - 465, - 496, - 527, - 558, - 589, - 620, - 651, - 682, - 713, - 731 - ], - "type": "integer" - }, - "Port": { - "pattern": "^\\d*$", - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "default": 1, - "maximum": 15, - "minimum": 0, - "type": "integer" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReplicaMode": { - "enum": [ - "mounted", - "open-read-only" - ], - "type": "string" - }, - "RestoreTime": { - "format": "date-time", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceDBInstanceAutomatedBackupsArn": { - "type": "string" - }, - "SourceDBInstanceIdentifier": { - "type": "string" - }, - "SourceDbiResourceId": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TdeCredentialArn": { - "type": "string" - }, - "TdeCredentialPassword": { - "type": "string" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", - "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", - "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", - "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/OptionGroupName": "$lowercase(OptionGroupName)", - "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKMSKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", - "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/Endpoint/HostedZoneId", - "/properties/DbiResourceId", - "/properties/DBInstanceArn", - "/properties/DBSystemId", - "/properties/MasterUserSecret/SecretArn", - "/properties/CertificateDetails/CAIdentifier", - "/properties/CertificateDetails/ValidTill" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::RDS::DBInstance", - "writeOnlyProperties": [ - "/properties/AllowMajorVersionUpgrade", - "/properties/AutomaticBackupReplicationKmsKeyId", - "/properties/CertificateRotationRestart", - "/properties/DBSnapshotIdentifier", - "/properties/DeleteAutomatedBackups", - "/properties/MasterUserPassword", - "/properties/Port", - "/properties/RestoreTime", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/SourceRegion", - "/properties/TdeCredentialPassword", - "/properties/UseDefaultProcessorFeatures", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-optiongroup.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-optiongroup.json deleted file mode 100644 index d0e1e7a6a9..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-optiongroup.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineName", - "/properties/MajorEngineVersion", - "/properties/OptionGroupDescription", - "/properties/OptionGroupName" - ], - "definitions": { - "OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/OptionGroupName" - ], - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/OptionGroupName": "$lowercase(OptionGroupName)" - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::OptionGroup" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 43dfd62f41..0ac7b448db 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -870,7 +870,6 @@ "aws-dms-certificate.json", "aws-dms-endpoint.json", "aws-dms-eventsubscription.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-docdb-dbcluster.json", @@ -942,6 +941,7 @@ "aws-ec2-vpcdhcpoptionsassociation.json", "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", + "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcgatewayattachment.json", "aws-ec2-vpcpeeringconnection.json", @@ -954,14 +954,13 @@ "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", "aws-efs-mounttarget.json", "aws-eks-accessentry.json", "aws-eks-addon.json", - "aws-eks-cluster.json", "aws-eks-identityproviderconfig.json", "aws-eks-nodegroup.json", "aws-eks-podidentityassociation.json", @@ -1020,6 +1019,7 @@ "aws-gamelift-script.json", "aws-glue-classifier.json", "aws-glue-connection.json", + "aws-glue-crawler.json", "aws-glue-customentitytype.json", "aws-glue-database.json", "aws-glue-datacatalogencryptionsettings.json", @@ -1054,6 +1054,7 @@ "aws-greengrass-subscriptiondefinitionversion.json", "aws-greengrassv2-componentversion.json", "aws-greengrassv2-deployment.json", + "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-master.json", @@ -1173,6 +1174,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", + "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1248,7 +1250,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-s3-accessgrant.json", "aws-s3-accessgrantsinstance.json", @@ -1284,7 +1285,6 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", - "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-configurationpolicy.json", "aws-securityhub-delegatedadmin.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpointservice.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpointservice.json deleted file mode 100644 index 67560dbc1d..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpointservice.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/ServiceId" - ], - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "ContributorInsightsEnabled": { - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PayerResponsibility": { - "type": "string" - }, - "ServiceId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/ServiceId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::EC2::VPCEndpointService", - "writeOnlyProperties": [ - "/properties/ContributorInsightsEnabled" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json new file mode 100644 index 0000000000..999cbd80cc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json @@ -0,0 +1,395 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn", + "/properties/BootstrapSelfManagedAddons" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "BlockStorage": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "RemoteNodeNetwork": { + "additionalProperties": false, + "properties": { + "Cidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Cidrs" + ], + "type": "object" + }, + "RemoteNodeNetworks": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RemoteNodeNetwork" + }, + "type": "array" + }, + "RemotePodNetwork": { + "additionalProperties": false, + "properties": { + "Cidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Cidrs" + ], + "type": "object" + }, + "RemotePodNetworks": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RemotePodNetwork" + }, + "type": "array" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UpgradePolicy": { + "additionalProperties": false, + "properties": { + "SupportType": { + "enum": [ + "STANDARD", + "EXTENDED" + ], + "type": "string" + } + }, + "type": "object" + }, + "ZonalShiftConfig": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "BootstrapSelfManagedAddons": { + "type": "boolean" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "UpgradePolicy": { + "$ref": "#/definitions/UpgradePolicy" + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + }, + "ZonalShiftConfig": { + "$ref": "#/definitions/ZonalShiftConfig" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/BootstrapSelfManagedAddons" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-crawler.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-crawler.json deleted file mode 100644 index 7dcb87f3d8..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-crawler.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "CatalogTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DeltaTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "CreateNativeDeltaTable": { - "type": "boolean" - }, - "DeltaTables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "WriteManifest": { - "type": "boolean" - } - }, - "type": "object" - }, - "DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "IcebergTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaximumTraversalDepth": { - "type": "integer" - }, - "Paths": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "EnableAdditionalMetadata": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "LakeFormationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "UseLakeFormationCredentials": { - "type": "boolean" - } - }, - "type": "object" - }, - "MongoDBTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - }, - "SampleSize": { - "type": "integer" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "enum": [ - "DELETE_FROM_DATABASE", - "DEPRECATE_IN_DATABASE", - "LOG" - ], - "type": "string" - }, - "UpdateBehavior": { - "enum": [ - "LOG", - "UPDATE_IN_DATABASE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/CatalogTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DeltaTargets": { - "items": { - "$ref": "#/definitions/DeltaTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/DynamoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "IcebergTargets": { - "items": { - "$ref": "#/definitions/IcebergTarget" - }, - "type": "array", - "uniqueItems": false - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/JdbcTarget" - }, - "type": "array", - "uniqueItems": false - }, - "MongoDBTargets": { - "items": { - "$ref": "#/definitions/MongoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/S3Target" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "LakeFormationConfiguration": { - "$ref": "#/definitions/LakeFormationConfiguration" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Targets": { - "$ref": "#/definitions/Targets" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Targets" - ], - "typeName": "AWS::Glue::Crawler" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json index 7b7c7f065b..fa5a0cde41 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json @@ -285,11 +285,6 @@ "uniqueItems": true }, "StartingPosition": { - "enum": [ - "AT_TIMESTAMP", - "LATEST", - "TRIM_HORIZON" - ], "maxLength": 12, "minLength": 6, "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..03475784a5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + }, + "ServerNameIndication": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "pattern": "(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)", + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-secretsmanager-secrettargetattachment.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-secretsmanager-secrettargetattachment.json similarity index 100% rename from src/cfnlint/data/schemas/providers/ap_southeast_4/aws-secretsmanager-secrettargetattachment.json rename to src/cfnlint/data/schemas/providers/cn_north_1/aws-secretsmanager-secrettargetattachment.json 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 00edb78f17..056790dabd 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -908,9 +908,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", "aws-efs-mounttarget.json", @@ -981,6 +979,7 @@ "aws-glue-datacatalogencryptionsettings.json", "aws-glue-dataqualityruleset.json", "aws-glue-devendpoint.json", + "aws-glue-job.json", "aws-glue-mltransform.json", "aws-glue-partition.json", "aws-glue-registry.json", @@ -991,7 +990,6 @@ "aws-glue-table.json", "aws-glue-trigger.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-master.json", @@ -1093,7 +1091,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-job.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-job.json deleted file mode 100644 index 5ad5c7f347..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-job.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/JobCommand" - }, - "Connections": { - "$ref": "#/definitions/ConnectionsList" - }, - "DefaultArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Description": { - "type": "string" - }, - "ExecutionClass": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/ExecutionProperty" - }, - "GlueVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaintenanceWindow": { - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NonOverridableArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "NumberOfWorkers": { - "maximum": 299, - "minimum": 0, - "type": "integer" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "type": "integer" - }, - "WorkerType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Command" - ], - "typeName": "AWS::Glue::Job" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json index 7b7c7f065b..fa5a0cde41 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json @@ -285,11 +285,6 @@ "uniqueItems": true }, "StartingPosition": { - "enum": [ - "AT_TIMESTAMP", - "LATEST", - "TRIM_HORIZON" - ], "maxLength": 12, "minLength": 6, "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 9918227e4c..2c64e978cf 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -1718,6 +1718,7 @@ "aws-ecs-primarytaskset.json", "aws-ecs-service.json", "aws-ecs-taskdefinition.json", + "aws-ecs-taskset.json", "aws-efs-accesspoint.json", "aws-efs-filesystem.json", "aws-efs-mounttarget.json", @@ -1848,6 +1849,7 @@ "aws-groundstation-config.json", "aws-groundstation-dataflowendpointgroup.json", "aws-groundstation-missionprofile.json", + "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1967,6 +1969,8 @@ "aws-kafkaconnect-connector.json", "aws-kafkaconnect-customplugin.json", "aws-kafkaconnect-workerconfiguration.json", + "aws-kinesis-resourcepolicy.json", + "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-applicationoutput.json", "aws-kinesisanalyticsv2-application.json", @@ -2033,7 +2037,6 @@ "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", - "aws-m2-application.json", "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", @@ -2066,7 +2069,6 @@ "aws-medialive-signalmap.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", - "aws-mediapackage-originendpoint.json", "aws-mediapackage-packagingconfiguration.json", "aws-mediapackage-packaginggroup.json", "aws-mediapackagev2-channel.json", @@ -2103,6 +2105,7 @@ "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", "aws-networkfirewall-firewall.json", + "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -2390,7 +2393,6 @@ "aws-signer-signingprofile.json", "aws-simspaceweaver-simulation.json", "aws-sns-subscription.json", - "aws-sns-topic.json", "aws-sns-topicinlinepolicy.json", "aws-sns-topicpolicy.json", "aws-sqs-queue.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-m2-application.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-m2-application.json new file mode 100644 index 0000000000..12f0ef73da --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-m2-application.json @@ -0,0 +1,121 @@ +{ + "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": [ + "EngineType", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Application", + "writeOnlyProperties": [ + "/properties/Definition" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackage-originendpoint.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackage-originendpoint.json new file mode 100644 index 0000000000..261af58d4c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackage-originendpoint.json @@ -0,0 +1,577 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Id" + ], + "definitions": { + "AdsOnDeliveryRestrictions": { + "enum": [ + "NONE", + "RESTRICTED", + "UNRESTRICTED", + "BOTH" + ], + "type": "string" + }, + "Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "SecretsRoleArn", + "CdnIdentifierSecret" + ], + "type": "object" + }, + "CmafEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "maxLength": 32, + "minLength": 32, + "pattern": "\\A[0-9a-fA-F]+\\Z", + "type": "string" + }, + "EncryptionMethod": { + "enum": [ + "SAMPLE_AES", + "AES_CTR" + ], + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "integer" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "integer" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/StreamSelection" + } + }, + "type": "object" + }, + "DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "integer" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "enum": [ + "SPLICE_INSERT", + "BREAK", + "PROVIDER_ADVERTISEMENT", + "DISTRIBUTOR_ADVERTISEMENT", + "PROVIDER_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", + "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY" + ], + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "$ref": "#/definitions/AdsOnDeliveryRestrictions" + }, + "Encryption": { + "$ref": "#/definitions/DashEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestLayout": { + "enum": [ + "FULL", + "COMPACT", + "DRM_TOP_LEVEL_COMPACT" + ], + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "integer" + }, + "MinBufferTimeSeconds": { + "type": "integer" + }, + "MinUpdatePeriodSeconds": { + "type": "integer" + }, + "PeriodTriggers": { + "items": { + "enum": [ + "ADS" + ], + "type": "string" + }, + "type": "array" + }, + "Profile": { + "enum": [ + "NONE", + "HBBTV_1_5", + "HYBRIDCAST", + "DVB_DASH_2014" + ], + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "integer" + }, + "SegmentTemplateFormat": { + "enum": [ + "NUMBER_WITH_TIMELINE", + "TIME_WITH_TIMELINE", + "NUMBER_WITH_DURATION" + ], + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "integer" + }, + "UtcTiming": { + "enum": [ + "HTTP-XSDATE", + "HTTP-ISO", + "HTTP-HEAD", + "NONE" + ], + "type": "string" + }, + "UtcTimingUri": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionContractConfiguration": { + "additionalProperties": false, + "properties": { + "PresetSpeke20Audio": { + "enum": [ + "PRESET-AUDIO-1", + "PRESET-AUDIO-2", + "PRESET-AUDIO-3", + "SHARED", + "UNENCRYPTED" + ], + "type": "string" + }, + "PresetSpeke20Video": { + "enum": [ + "PRESET-VIDEO-1", + "PRESET-VIDEO-2", + "PRESET-VIDEO-3", + "PRESET-VIDEO-4", + "PRESET-VIDEO-5", + "PRESET-VIDEO-6", + "PRESET-VIDEO-7", + "PRESET-VIDEO-8", + "SHARED", + "UNENCRYPTED" + ], + "type": "string" + } + }, + "required": [ + "PresetSpeke20Audio", + "PresetSpeke20Video" + ], + "type": "object" + }, + "HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "enum": [ + "AES_128", + "SAMPLE_AES" + ], + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "integer" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "enum": [ + "NONE", + "SCTE35_ENHANCED", + "PASSTHROUGH", + "DATERANGE" + ], + "type": "string" + }, + "AdTriggers": { + "items": { + "enum": [ + "SPLICE_INSERT", + "BREAK", + "PROVIDER_ADVERTISEMENT", + "DISTRIBUTOR_ADVERTISEMENT", + "PROVIDER_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", + "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY" + ], + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "$ref": "#/definitions/AdsOnDeliveryRestrictions" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "enum": [ + "NONE", + "EVENT", + "VOD" + ], + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "integer" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "integer" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "enum": [ + "NONE", + "SCTE35_ENHANCED", + "PASSTHROUGH", + "DATERANGE" + ], + "type": "string" + }, + "AdTriggers": { + "items": { + "enum": [ + "SPLICE_INSERT", + "BREAK", + "PROVIDER_ADVERTISEMENT", + "DISTRIBUTOR_ADVERTISEMENT", + "PROVIDER_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", + "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY" + ], + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "$ref": "#/definitions/AdsOnDeliveryRestrictions" + }, + "Encryption": { + "$ref": "#/definitions/HlsEncryption" + }, + "IncludeDvbSubtitles": { + "type": "boolean" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "enum": [ + "NONE", + "EVENT", + "VOD" + ], + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "integer" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "integer" + }, + "SegmentDurationSeconds": { + "type": "integer" + }, + "StreamSelection": { + "$ref": "#/definitions/StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "integer" + }, + "SegmentDurationSeconds": { + "type": "integer" + }, + "StreamSelection": { + "$ref": "#/definitions/StreamSelection" + } + }, + "type": "object" + }, + "SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "EncryptionContractConfiguration": { + "$ref": "#/definitions/EncryptionContractConfiguration" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "SystemIds", + "Url", + "RoleArn" + ], + "type": "object" + }, + "StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "integer" + }, + "MinVideoBitsPerSecond": { + "type": "integer" + }, + "StreamOrder": { + "enum": [ + "ORIGINAL", + "VIDEO_BITRATE_ASCENDING", + "VIDEO_BITRATE_DESCENDING" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "deprecatedProperties": [ + "/properties/HlsPackage/Encryption/SpekeKeyProvider/EncryptionContractConfiguration/PresetSpeke20Audio", + "/properties/HlsPackage/Encryption/SpekeKeyProvider/EncryptionContractConfiguration/PresetSpeke20Video", + "/properties/MssPackage/Encryption/SpekeKeyProvider/EncryptionContractConfiguration/PresetSpeke20Audio", + "/properties/MssPackage/Encryption/SpekeKeyProvider/EncryptionContractConfiguration/PresetSpeke20Video", + "/properties/CmafPackage/HlsManifests/*/Url" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Authorization": { + "$ref": "#/definitions/Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/HlsPackage" + }, + "Id": { + "maxLength": 256, + "minLength": 1, + "pattern": "\\A[0-9a-zA-Z-_]+\\Z", + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/MssPackage" + }, + "Origination": { + "enum": [ + "ALLOW", + "DENY" + ], + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "integer" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "TimeDelaySeconds": { + "type": "integer" + }, + "Url": { + "type": "string" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "Id", + "ChannelId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaPackage::OriginEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sns-topic.json new file mode 100644 index 0000000000..4d536abd38 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sns-topic.json @@ -0,0 +1,150 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/TopicName", + "/properties/FifoTopic" + ], + "definitions": { + "LoggingConfig": { + "additionalProperties": false, + "properties": { + "FailureFeedbackRoleArn": { + "type": "string" + }, + "Protocol": { + "enum": [ + "http/s", + "sqs", + "lambda", + "firehose", + "application" + ], + "type": "string" + }, + "SuccessFeedbackRoleArn": { + "type": "string" + }, + "SuccessFeedbackSampleRate": { + "type": "string" + } + }, + "required": [ + "Protocol" + ], + "type": "object" + }, + "Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/TopicArn" + ], + "properties": { + "ArchivePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DataProtectionPolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "DeliveryStatusLogging": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingConfig" + }, + "type": "array", + "uniqueItems": true + }, + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "SignatureVersion": { + "type": "string" + }, + "Subscription": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Subscription" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TopicArn": { + "type": "string" + }, + "TopicName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "TracingConfig": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/TopicArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sns", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SNS::Topic" +} 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 f3b3f11d2e..a5697eddce 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -456,6 +456,7 @@ "AWS::NetworkManager::SiteToSiteVpnAttachment", "AWS::NetworkManager::TransitGatewayPeering", "AWS::NetworkManager::TransitGatewayRegistration", + "AWS::NetworkManager::TransitGatewayRouteTableAttachment", "AWS::NetworkManager::VpcAttachment", "AWS::Oam::Link", "AWS::Oam::Sink", @@ -910,9 +911,7 @@ "aws-ecs-capacityprovider.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", "aws-efs-mounttarget.json", @@ -976,6 +975,7 @@ "aws-glue-datacatalogencryptionsettings.json", "aws-glue-dataqualityruleset.json", "aws-glue-devendpoint.json", + "aws-glue-job.json", "aws-glue-mltransform.json", "aws-glue-partition.json", "aws-glue-securityconfiguration.json", @@ -983,7 +983,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1017,7 +1016,6 @@ "aws-inspectorv2-cisscanconfiguration.json", "aws-inspectorv2-filter.json", "aws-internetmonitor-monitor.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1058,7 +1056,6 @@ "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1074,6 +1071,7 @@ "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", @@ -1112,14 +1110,20 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", + "aws-rds-dbcluster.json", + "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", + "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", "aws-rds-dbsubnetgroup.json", + "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", + "aws-rds-optiongroup.json", "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", @@ -1173,6 +1177,7 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", + "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-job.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-job.json deleted file mode 100644 index 10b7901aa4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-job.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/JobCommand" - }, - "Connections": { - "$ref": "#/definitions/ConnectionsList" - }, - "DefaultArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Description": { - "type": "string" - }, - "ExecutionClass": { - "enum": [ - "FLEX", - "STANDARD" - ], - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/ExecutionProperty" - }, - "GlueVersion": { - "pattern": "^\\w+\\.\\w+$", - "type": "string" - }, - "Id": { - "type": "string" - }, - "JobMode": { - "enum": [ - "NOTEBOOK", - "SCRIPT", - "VISUAL" - ], - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaintenanceWindow": { - "pattern": "^(Sun|Mon|Tue|Wed|Thu|Fri|Sat):([01]?[0-9]|2[0-3])$", - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NonOverridableArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "NumberOfWorkers": { - "maximum": 299, - "minimum": 0, - "type": "integer" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "type": "integer" - }, - "WorkerType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Command" - ], - "typeName": "AWS::Glue::Job" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbclusterparametergroup.json deleted file mode 100644 index 72b2c49945..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbclusterparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBClusterParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBClusterParameterGroupName" - ], - "properties": { - "DBClusterParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array" - } - }, - "propertyTransform": { - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)" - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBClusterParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbparametergroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbparametergroup.json deleted file mode 100644 index 8d14cf78b9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBParameterGroupName" - ], - "properties": { - "DBParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)" - }, - "required": [ - "Family", - "Description" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-optiongroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-optiongroup.json deleted file mode 100644 index d0e1e7a6a9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-optiongroup.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineName", - "/properties/MajorEngineVersion", - "/properties/OptionGroupDescription", - "/properties/OptionGroupName" - ], - "definitions": { - "OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/OptionGroupName" - ], - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/OptionGroupName": "$lowercase(OptionGroupName)" - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::OptionGroup" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secrettargetattachment.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secrettargetattachment.json deleted file mode 100644 index 8b5501d290..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secrettargetattachment.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "SecretId", - "TargetType", - "TargetId" - ], - "typeName": "AWS::SecretsManager::SecretTargetAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 77ea779c98..56601d5c69 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -1243,7 +1243,6 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-dynamodb-globaltable.json", @@ -1348,9 +1347,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", "aws-efs-mounttarget.json", @@ -1444,7 +1441,6 @@ "aws-groundstation-config.json", "aws-groundstation-dataflowendpointgroup.json", "aws-groundstation-missionprofile.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1516,7 +1512,6 @@ "aws-kafkaconnect-connector.json", "aws-kafkaconnect-customplugin.json", "aws-kafkaconnect-workerconfiguration.json", - "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-applicationoutput.json", "aws-kinesisanalyticsv2-application.json", @@ -1640,7 +1635,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 1bfc38a08d..174753bffc 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -1018,7 +1018,6 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-docdb-dbcluster.json", @@ -1124,9 +1123,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", "aws-efs-mounttarget.json", @@ -1209,7 +1206,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1244,7 +1240,6 @@ "aws-inspectorv2-cisscanconfiguration.json", "aws-inspectorv2-filter.json", "aws-internetmonitor-monitor.json", - "aws-kinesis-stream.json", "aws-kinesisanalytics-applicationoutput.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisanalyticsv2-applicationoutput.json", @@ -1293,7 +1288,6 @@ "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 09ec4e5d7e..f07db48c48 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -921,9 +921,7 @@ "aws-ecs-capacityprovider.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", "aws-efs-mounttarget.json", @@ -989,6 +987,7 @@ "aws-glue-datacatalogencryptionsettings.json", "aws-glue-dataqualityruleset.json", "aws-glue-devendpoint.json", + "aws-glue-job.json", "aws-glue-mltransform.json", "aws-glue-partition.json", "aws-glue-securityconfiguration.json", @@ -996,7 +995,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1027,7 +1025,6 @@ "aws-imagebuilder-lifecyclepolicy.json", "aws-imagebuilder-workflow.json", "aws-internetmonitor-monitor.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1084,7 +1081,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1196,6 +1192,7 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", + "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-job.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-job.json deleted file mode 100644 index 10b7901aa4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-job.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/JobCommand" - }, - "Connections": { - "$ref": "#/definitions/ConnectionsList" - }, - "DefaultArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Description": { - "type": "string" - }, - "ExecutionClass": { - "enum": [ - "FLEX", - "STANDARD" - ], - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/ExecutionProperty" - }, - "GlueVersion": { - "pattern": "^\\w+\\.\\w+$", - "type": "string" - }, - "Id": { - "type": "string" - }, - "JobMode": { - "enum": [ - "NOTEBOOK", - "SCRIPT", - "VISUAL" - ], - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaintenanceWindow": { - "pattern": "^(Sun|Mon|Tue|Wed|Thu|Fri|Sat):([01]?[0-9]|2[0-3])$", - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NonOverridableArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "NumberOfWorkers": { - "maximum": 299, - "minimum": 0, - "type": "integer" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "type": "integer" - }, - "WorkerType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Command" - ], - "typeName": "AWS::Glue::Job" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-secretsmanager-secrettargetattachment.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-secretsmanager-secrettargetattachment.json deleted file mode 100644 index 8b5501d290..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-secretsmanager-secrettargetattachment.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "SecretId", - "TargetType", - "TargetId" - ], - "typeName": "AWS::SecretsManager::SecretTargetAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 195360efaa..4e2c2d0adc 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -693,6 +693,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1491,6 +1492,12 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", + "aws-databrew-dataset.json", + "aws-databrew-job.json", + "aws-databrew-project.json", + "aws-databrew-recipe.json", + "aws-databrew-ruleset.json", + "aws-databrew-schedule.json", "aws-datapipeline-pipeline.json", "aws-datasync-agent.json", "aws-datasync-locationazureblob.json", @@ -1545,7 +1552,6 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-docdb-dbcluster.json", @@ -1657,9 +1663,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", "aws-efs-mounttarget.json", @@ -1919,6 +1923,7 @@ "aws-kendra-faq.json", "aws-kendra-index.json", "aws-kendraranking-executionplan.json", + "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-application.json", @@ -2011,14 +2016,12 @@ "aws-mediaconvert-jobtemplate.json", "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", "aws-medialive-eventbridgeruletemplate.json", "aws-medialive-eventbridgeruletemplategroup.json", - "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", "aws-medialive-multiplex.json", "aws-medialive-multiplexprogram.json", @@ -2064,7 +2067,6 @@ "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -2236,7 +2238,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", @@ -2450,11 +2451,13 @@ "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", + "aws-workspacesweb-identityprovider.json", "aws-workspacesweb-ipaccesssettings.json", "aws-workspacesweb-networksettings.json", "aws-workspacesweb-portal.json", "aws-workspacesweb-truststore.json", "aws-workspacesweb-useraccessloggingsettings.json", + "aws-workspacesweb-usersettings.json", "aws-xray-group.json", "aws-xray-resourcepolicy.json", "aws-xray-samplingrule.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json deleted file mode 100644 index 8c2e37c355..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json +++ /dev/null @@ -1,396 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" - ], - "definitions": { - "CsvOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "maxLength": 1, - "minLength": 1, - "type": "string" - }, - "HeaderRow": { - "type": "boolean" - } - }, - "type": "object" - }, - "DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/S3Location" - } - }, - "type": "object" - }, - "DatabaseInputDefinition": { - "additionalProperties": false, - "properties": { - "DatabaseTableName": { - "type": "string" - }, - "GlueConnectionName": { - "type": "string" - }, - "QueryString": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/S3Location" - } - }, - "required": [ - "GlueConnectionName" - ], - "type": "object" - }, - "DatasetParameter": { - "additionalProperties": false, - "properties": { - "CreateColumn": { - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/FilterExpression" - }, - "Name": { - "$ref": "#/definitions/PathParameterName" - }, - "Type": { - "enum": [ - "String", - "Number", - "Datetime" - ], - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DatetimeOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "maxLength": 100, - "minLength": 2, - "type": "string" - }, - "LocaleCode": { - "maxLength": 100, - "minLength": 2, - "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", - "type": "string" - }, - "TimezoneOffset": { - "maxLength": 6, - "minLength": 1, - "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", - "type": "string" - } - }, - "required": [ - "Format" - ], - "type": "object" - }, - "ExcelOptions": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "SheetNames" - ] - }, - { - "required": [ - "SheetIndexes" - ] - } - ], - "properties": { - "HeaderRow": { - "type": "boolean" - }, - "SheetIndexes": { - "insertionOrder": true, - "items": { - "type": "integer" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "SheetNames": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "FilesLimit": { - "additionalProperties": false, - "properties": { - "MaxFiles": { - "type": "integer" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "OrderedBy": { - "enum": [ - "LAST_MODIFIED_DATE" - ], - "type": "string" - } - }, - "required": [ - "MaxFiles" - ], - "type": "object" - }, - "FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "maxLength": 1024, - "minLength": 4, - "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", - "type": "string" - }, - "ValuesMap": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/FilterValue" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ValuesMap" - ], - "type": "object" - }, - "FilterValue": { - "additionalProperties": false, - "properties": { - "Value": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ValueReference": { - "maxLength": 128, - "minLength": 2, - "pattern": "^:[A-Za-z0-9_]+$", - "type": "string" - } - }, - "required": [ - "ValueReference", - "Value" - ], - "type": "object" - }, - "FormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/CsvOptions" - }, - "Excel": { - "$ref": "#/definitions/ExcelOptions" - }, - "Json": { - "$ref": "#/definitions/JsonOptions" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/DataCatalogInputDefinition" - }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/DatabaseInputDefinition" - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "S3InputDefinition": { - "$ref": "#/definitions/S3Location" - } - }, - "type": "object" - }, - "JsonOptions": { - "additionalProperties": false, - "properties": { - "MultiLine": { - "type": "boolean" - } - }, - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "SourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "PathOptions": { - "additionalProperties": false, - "properties": { - "FilesLimit": { - "$ref": "#/definitions/FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/FilterExpression" - }, - "Parameters": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PathParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "PathParameter": { - "additionalProperties": false, - "properties": { - "DatasetParameter": { - "$ref": "#/definitions/DatasetParameter" - }, - "PathParameterName": { - "$ref": "#/definitions/PathParameterName" - } - }, - "required": [ - "PathParameterName", - "DatasetParameter" - ], - "type": "object" - }, - "PathParameterName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Format": { - "enum": [ - "CSV", - "JSON", - "PARQUET", - "EXCEL", - "ORC" - ], - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/FormatOptions" - }, - "Input": { - "$ref": "#/definitions/Input" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "PathOptions": { - "$ref": "#/definitions/PathOptions" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Name", - "Input" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, - "typeName": "AWS::DataBrew::Dataset" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-job.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-job.json deleted file mode 100644 index 3119fb255d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-job.json +++ /dev/null @@ -1,565 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type", - "/properties/Tags" - ], - "definitions": { - "AllowedStatistics": { - "additionalProperties": false, - "properties": { - "Statistics": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Statistic" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Statistics" - ], - "type": "object" - }, - "ColumnSelector": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Regex": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "ColumnStatisticsConfiguration": { - "additionalProperties": false, - "properties": { - "Selectors": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ColumnSelector" - }, - "minItems": 1, - "type": "array" - }, - "Statistics": { - "$ref": "#/definitions/StatisticsConfiguration" - } - }, - "required": [ - "Statistics" - ], - "type": "object" - }, - "CsvOutputOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "maxLength": 1, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "DataCatalogOutput": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "DatabaseName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "DatabaseOptions": { - "$ref": "#/definitions/DatabaseTableOutputOptions" - }, - "Overwrite": { - "type": "boolean" - }, - "S3Options": { - "$ref": "#/definitions/S3TableOutputOptions" - }, - "TableName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "DatabaseOutput": { - "additionalProperties": false, - "properties": { - "DatabaseOptions": { - "$ref": "#/definitions/DatabaseTableOutputOptions" - }, - "DatabaseOutputMode": { - "enum": [ - "NEW_TABLE" - ], - "type": "string" - }, - "GlueConnectionName": { - "type": "string" - } - }, - "required": [ - "GlueConnectionName", - "DatabaseOptions" - ], - "type": "object" - }, - "DatabaseTableOutputOptions": { - "additionalProperties": false, - "properties": { - "TableName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/S3Location" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "EntityDetectorConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedStatistics": { - "$ref": "#/definitions/AllowedStatistics" - }, - "EntityTypes": { - "insertionOrder": true, - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Z_][A-Z\\\\d_]*$", - "type": "string" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "EntityTypes" - ], - "type": "object" - }, - "JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "$ref": "#/definitions/SampleMode" - }, - "Size": { - "$ref": "#/definitions/JobSize" - } - }, - "type": "object" - }, - "JobSize": { - "format": "int64", - "type": "integer" - }, - "Output": { - "additionalProperties": false, - "properties": { - "CompressionFormat": { - "enum": [ - "GZIP", - "LZ4", - "SNAPPY", - "BZIP2", - "DEFLATE", - "LZO", - "BROTLI", - "ZSTD", - "ZLIB" - ], - "type": "string" - }, - "Format": { - "enum": [ - "CSV", - "JSON", - "PARQUET", - "GLUEPARQUET", - "AVRO", - "ORC", - "XML", - "TABLEAUHYPER" - ], - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/OutputFormatOptions" - }, - "Location": { - "$ref": "#/definitions/S3Location" - }, - "MaxOutputFiles": { - "maximum": 999, - "minimum": 1, - "type": "integer" - }, - "Overwrite": { - "type": "boolean" - }, - "PartitionColumns": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/CsvOutputOptions" - } - }, - "type": "object" - }, - "OutputLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BucketOwner": { - "maxLength": 12, - "minLength": 12, - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "ParameterMap": { - "additionalProperties": false, - "patternProperties": { - "^[A-Za-z0-9]{1,128}$": { - "type": "string" - } - }, - "type": "object" - }, - "ProfileConfiguration": { - "additionalProperties": false, - "properties": { - "ColumnStatisticsConfigurations": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ColumnStatisticsConfiguration" - }, - "minItems": 1, - "type": "array" - }, - "DatasetStatisticsConfiguration": { - "$ref": "#/definitions/StatisticsConfiguration" - }, - "EntityDetectorConfiguration": { - "$ref": "#/definitions/EntityDetectorConfiguration" - }, - "ProfileColumns": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ColumnSelector" - }, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "Recipe": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BucketOwner": { - "maxLength": 12, - "minLength": 12, - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "S3TableOutputOptions": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/S3Location" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "SampleMode": { - "enum": [ - "FULL_DATASET", - "CUSTOM_ROWS" - ], - "type": "string" - }, - "Statistic": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Z\\_]+$", - "type": "string" - }, - "StatisticOverride": { - "additionalProperties": false, - "properties": { - "Parameters": { - "$ref": "#/definitions/ParameterMap" - }, - "Statistic": { - "$ref": "#/definitions/Statistic" - } - }, - "required": [ - "Statistic", - "Parameters" - ], - "type": "object" - }, - "StatisticsConfiguration": { - "additionalProperties": false, - "properties": { - "IncludedStatistics": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Statistic" - }, - "minItems": 1, - "type": "array" - }, - "Overrides": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/StatisticOverride" - }, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ValidationConfiguration": { - "additionalProperties": false, - "properties": { - "RulesetArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "ValidationMode": { - "$ref": "#/definitions/ValidationMode" - } - }, - "required": [ - "RulesetArn" - ], - "type": "object" - }, - "ValidationMode": { - "enum": [ - "CHECK_ALL" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DataCatalogOutputs": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DataCatalogOutput" - }, - "type": "array" - }, - "DatabaseOutputs": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DatabaseOutput" - }, - "type": "array" - }, - "DatasetName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "EncryptionMode": { - "enum": [ - "SSE-KMS", - "SSE-S3" - ], - "type": "string" - }, - "JobSample": { - "$ref": "#/definitions/JobSample" - }, - "LogSubscription": { - "enum": [ - "ENABLE", - "DISABLE" - ], - "type": "string" - }, - "MaxCapacity": { - "type": "integer" - }, - "MaxRetries": { - "type": "integer" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/OutputLocation" - }, - "Outputs": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Output" - }, - "type": "array" - }, - "ProfileConfiguration": { - "$ref": "#/definitions/ProfileConfiguration" - }, - "ProjectName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Recipe": { - "$ref": "#/definitions/Recipe" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Timeout": { - "type": "integer" - }, - "Type": { - "enum": [ - "PROFILE", - "RECIPE" - ], - "type": "string" - }, - "ValidationConfigurations": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ValidationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RoleArn", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, - "typeName": "AWS::DataBrew::Job" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-project.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-project.json deleted file mode 100644 index 0363350390..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-project.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" - ], - "definitions": { - "Sample": { - "additionalProperties": false, - "properties": { - "Size": { - "minimum": 1, - "type": "integer" - }, - "Type": { - "enum": [ - "FIRST_N", - "LAST_N", - "RANDOM" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DatasetName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "RecipeName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sample": { - "$ref": "#/definitions/Sample" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, - "typeName": "AWS::DataBrew::Project" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-recipe.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-recipe.json deleted file mode 100644 index 2758e26dd4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-recipe.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" - ], - "definitions": { - "Action": { - "additionalProperties": false, - "properties": { - "Operation": { - "type": "string" - }, - "Parameters": { - "anyOf": [ - { - "$ref": "#/definitions/RecipeParameters" - }, - { - "$ref": "#/definitions/ParameterMap" - } - ] - } - }, - "required": [ - "Operation" - ], - "type": "object" - }, - "ConditionExpression": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "TargetColumn": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Condition", - "TargetColumn" - ], - "type": "object" - }, - "DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/S3Location" - } - }, - "type": "object" - }, - "ParameterMap": { - "additionalProperties": false, - "patternProperties": { - "^[A-Za-z0-9]{1,128}$": { - "type": "string" - } - }, - "type": "object" - }, - "RecipeParameters": { - "additionalProperties": false, - "properties": { - "AggregateFunction": { - "type": "string" - }, - "Base": { - "type": "string" - }, - "CaseStatement": { - "type": "string" - }, - "CategoryMap": { - "type": "string" - }, - "CharsToRemove": { - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "type": "string" - }, - "ColumnDataType": { - "type": "string" - }, - "ColumnRange": { - "type": "string" - }, - "Count": { - "type": "string" - }, - "CustomCharacters": { - "type": "string" - }, - "CustomStopWords": { - "type": "string" - }, - "CustomValue": { - "type": "string" - }, - "DatasetsColumns": { - "type": "string" - }, - "DateAddValue": { - "type": "string" - }, - "DateTimeFormat": { - "type": "string" - }, - "DateTimeParameters": { - "type": "string" - }, - "DeleteOtherRows": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "EndPattern": { - "type": "string" - }, - "EndPosition": { - "type": "string" - }, - "EndValue": { - "type": "string" - }, - "ExpandContractions": { - "type": "string" - }, - "Exponent": { - "type": "string" - }, - "FalseString": { - "type": "string" - }, - "GroupByAggFunctionOptions": { - "type": "string" - }, - "GroupByColumns": { - "type": "string" - }, - "HiddenColumns": { - "type": "string" - }, - "IgnoreCase": { - "type": "string" - }, - "IncludeInSplit": { - "type": "string" - }, - "Input": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "S3InputDefinition" - ] - }, - { - "required": [ - "DataCatalogInputDefinition" - ] - } - ], - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/S3Location" - } - }, - "type": "object" - }, - "Interval": { - "type": "string" - }, - "IsText": { - "type": "string" - }, - "JoinKeys": { - "type": "string" - }, - "JoinType": { - "type": "string" - }, - "LeftColumns": { - "type": "string" - }, - "Limit": { - "type": "string" - }, - "LowerBound": { - "type": "string" - }, - "MapType": { - "type": "string" - }, - "ModeType": { - "type": "string" - }, - "MultiLine": { - "type": "boolean" - }, - "NumRows": { - "type": "string" - }, - "NumRowsAfter": { - "type": "string" - }, - "NumRowsBefore": { - "type": "string" - }, - "OrderByColumn": { - "type": "string" - }, - "OrderByColumns": { - "type": "string" - }, - "Other": { - "type": "string" - }, - "Pattern": { - "type": "string" - }, - "PatternOption1": { - "type": "string" - }, - "PatternOption2": { - "type": "string" - }, - "PatternOptions": { - "type": "string" - }, - "Period": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "RemoveAllPunctuation": { - "type": "string" - }, - "RemoveAllQuotes": { - "type": "string" - }, - "RemoveAllWhitespace": { - "type": "string" - }, - "RemoveCustomCharacters": { - "type": "string" - }, - "RemoveCustomValue": { - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "type": "string" - }, - "RemoveLetters": { - "type": "string" - }, - "RemoveNumbers": { - "type": "string" - }, - "RemoveSourceColumn": { - "type": "string" - }, - "RemoveSpecialCharacters": { - "type": "string" - }, - "RightColumns": { - "type": "string" - }, - "SampleSize": { - "type": "string" - }, - "SampleType": { - "type": "string" - }, - "SecondInput": { - "type": "string" - }, - "SecondaryInputs": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/SecondaryInput" - }, - "type": "array", - "uniqueItems": false - }, - "SheetIndexes": { - "insertionOrder": true, - "items": { - "type": "integer" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "SheetNames": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "SourceColumn": { - "type": "string" - }, - "SourceColumn1": { - "type": "string" - }, - "SourceColumn2": { - "type": "string" - }, - "SourceColumns": { - "type": "string" - }, - "StartColumnIndex": { - "type": "string" - }, - "StartPattern": { - "type": "string" - }, - "StartPosition": { - "type": "string" - }, - "StartValue": { - "type": "string" - }, - "StemmingMode": { - "type": "string" - }, - "StepCount": { - "type": "string" - }, - "StepIndex": { - "type": "string" - }, - "StopWordsMode": { - "type": "string" - }, - "Strategy": { - "type": "string" - }, - "TargetColumn": { - "type": "string" - }, - "TargetColumnNames": { - "type": "string" - }, - "TargetDateFormat": { - "type": "string" - }, - "TargetIndex": { - "type": "string" - }, - "TimeZone": { - "type": "string" - }, - "TokenizerPattern": { - "type": "string" - }, - "TrueString": { - "type": "string" - }, - "UdfLang": { - "type": "string" - }, - "Units": { - "type": "string" - }, - "UnpivotColumn": { - "type": "string" - }, - "UpperBound": { - "type": "string" - }, - "UseNewDataFrame": { - "type": "string" - }, - "Value": { - "type": "string" - }, - "Value1": { - "type": "string" - }, - "Value2": { - "type": "string" - }, - "ValueColumn": { - "type": "string" - }, - "ViewFrame": { - "type": "string" - } - } - }, - "RecipeStep": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/Action" - }, - "ConditionExpressions": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ConditionExpression" - }, - "type": "array" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "SecondaryInput": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "S3InputDefinition" - ] - }, - { - "required": [ - "DataCatalogInputDefinition" - ] - } - ], - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/S3Location" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Steps": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/RecipeStep", - "type": "object" - }, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Name", - "Steps" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, - "typeName": "AWS::DataBrew::Recipe" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-ruleset.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-ruleset.json deleted file mode 100644 index 54553a57c0..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-ruleset.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/TargetArn", - "/properties/Tags" - ], - "definitions": { - "ColumnSelector": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Regex": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "Disabled": { - "type": "boolean" - }, - "Expression": { - "maxLength": 1024, - "minLength": 4, - "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", - "type": "string" - }, - "Rule": { - "additionalProperties": false, - "properties": { - "CheckExpression": { - "$ref": "#/definitions/Expression" - }, - "ColumnSelectors": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ColumnSelector" - }, - "minItems": 1, - "type": "array" - }, - "Disabled": { - "$ref": "#/definitions/Disabled" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "SubstitutionMap": { - "$ref": "#/definitions/ValuesMap" - }, - "Threshold": { - "$ref": "#/definitions/Threshold" - } - }, - "required": [ - "Name", - "CheckExpression" - ], - "type": "object" - }, - "SubstitutionValue": { - "additionalProperties": false, - "properties": { - "Value": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ValueReference": { - "maxLength": 128, - "minLength": 2, - "pattern": "^:[A-Za-z0-9_]+$", - "type": "string" - } - }, - "required": [ - "ValueReference", - "Value" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Threshold": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ThresholdType" - }, - "Unit": { - "$ref": "#/definitions/ThresholdUnit" - }, - "Value": { - "$ref": "#/definitions/ThresholdValue" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "ThresholdType": { - "enum": [ - "GREATER_THAN_OR_EQUAL", - "LESS_THAN_OR_EQUAL", - "GREATER_THAN", - "LESS_THAN" - ], - "type": "string" - }, - "ThresholdUnit": { - "enum": [ - "COUNT", - "PERCENTAGE" - ], - "type": "string" - }, - "ThresholdValue": { - "type": "number" - }, - "ValuesMap": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/SubstitutionValue" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Description": { - "maxLength": 1024, - "type": "string" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Rules": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Rule" - }, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TargetArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - } - }, - "required": [ - "Name", - "TargetArn", - "Rules" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, - "typeName": "AWS::DataBrew::Ruleset" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-channel.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-channel.json new file mode 100644 index 0000000000..a6c907c033 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-channel.json @@ -0,0 +1,3591 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Vpc", + "/properties/AnywhereSettings" + ], + "definitions": { + "AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "Ac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "integer" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "AnywhereSettings": { + "additionalProperties": false, + "properties": { + "ChannelPlacementGroupId": { + "type": "string" + }, + "ClusterId": { + "type": "string" + } + }, + "type": "object" + }, + "ArchiveCdnSettings": { + "additionalProperties": false, + "properties": { + "ArchiveS3Settings": { + "$ref": "#/definitions/ArchiveS3Settings" + } + }, + "type": "object" + }, + "ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/RawSettings" + } + }, + "type": "object" + }, + "ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveCdnSettings": { + "$ref": "#/definitions/ArchiveCdnSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "RolloverInterval": { + "type": "integer" + } + }, + "type": "object" + }, + "ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "ArchiveS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AribDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AribSourceSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/InputChannelLevel" + }, + "type": "array", + "uniqueItems": false + }, + "OutputChannel": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/Ac3Settings" + }, + "Eac3AtmosSettings": { + "$ref": "#/definitions/Eac3AtmosSettings" + }, + "Eac3Settings": { + "$ref": "#/definitions/Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/WavSettings" + } + }, + "type": "object" + }, + "AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioDashRoles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AudioNormalizationSettings": { + "$ref": "#/definitions/AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "AudioWatermarkingSettings": { + "$ref": "#/definitions/AudioWatermarkSettings" + }, + "CodecSettings": { + "$ref": "#/definitions/AudioCodecSettings" + }, + "DvbDashAccessibility": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AudioDolbyEDecode": { + "additionalProperties": false, + "properties": { + "ProgramSelection": { + "type": "string" + } + }, + "type": "object" + }, + "AudioHlsRenditionSelection": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AudioSelectorSettings" + } + }, + "type": "object" + }, + "AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioHlsRenditionSelection": { + "$ref": "#/definitions/AudioHlsRenditionSelection" + }, + "AudioLanguageSelection": { + "$ref": "#/definitions/AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AudioTrackSelection" + } + }, + "type": "object" + }, + "AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "integer" + } + }, + "type": "object" + }, + "AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "DolbyEDecode": { + "$ref": "#/definitions/AudioDolbyEDecode" + }, + "Tracks": { + "items": { + "$ref": "#/definitions/AudioTrack" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "AudioWatermarkSettings": { + "additionalProperties": false, + "properties": { + "NielsenWatermarksSettings": { + "$ref": "#/definitions/NielsenWatermarksSettings" + } + }, + "type": "object" + }, + "AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "integer" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/FailoverCondition" + }, + "type": "array", + "uniqueItems": false + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "Av1ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + } + }, + "type": "object" + }, + "Av1Settings": { + "additionalProperties": false, + "properties": { + "AfdSignaling": { + "type": "string" + }, + "BufSize": { + "type": "integer" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/Av1ColorSpaceSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "integer" + }, + "MinIInterval": { + "type": "integer" + }, + "ParDenominator": { + "type": "integer" + }, + "ParNumerator": { + "type": "integer" + }, + "QvbrQualityLevel": { + "type": "integer" + }, + "SceneChangeDetect": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + } + }, + "type": "object" + }, + "AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AvailSettings" + }, + "Scte35SegmentationScope": { + "type": "string" + } + }, + "type": "object" + }, + "AvailSettings": { + "additionalProperties": false, + "properties": { + "Esam": { + "$ref": "#/definitions/Esam" + }, + "Scte35SpliceInsert": { + "$ref": "#/definitions/Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "BandwidthReductionFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "integer" + }, + "Font": { + "$ref": "#/definitions/InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "integer" + }, + "FontResolution": { + "type": "integer" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "integer" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "integer" + }, + "ShadowXOffset": { + "type": "integer" + }, + "ShadowYOffset": { + "type": "integer" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "integer" + }, + "YPosition": { + "type": "integer" + } + }, + "type": "object" + }, + "CaptionDescription": { + "additionalProperties": false, + "properties": { + "Accessibility": { + "type": "string" + }, + "CaptionDashRoles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/CaptionDestinationSettings" + }, + "DvbDashAccessibility": { + "type": "string" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/WebvttDestinationSettings" + } + }, + "type": "object" + }, + "CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "integer" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "CaptionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "LeftOffset": { + "type": "number" + }, + "TopOffset": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/CaptionSelectorSettings" + } + }, + "type": "object" + }, + "CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/TeletextSourceSettings" + } + }, + "type": "object" + }, + "CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "CmafIngestGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "Scte35Type": { + "type": "string" + }, + "SegmentLength": { + "type": "integer" + }, + "SegmentLengthUnits": { + "type": "string" + }, + "SendDelayMs": { + "type": "integer" + } + }, + "type": "object" + }, + "CmafIngestOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "ColorCorrection": { + "additionalProperties": false, + "properties": { + "InputColorSpace": { + "type": "string" + }, + "OutputColorSpace": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, + "ColorCorrectionSettings": { + "additionalProperties": false, + "properties": { + "GlobalColorCorrections": { + "items": { + "$ref": "#/definitions/ColorCorrection" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "ColorSpacePassthroughSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "DolbyVision81Settings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "integer" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "integer" + } + }, + "type": "object" + }, + "DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "integer" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "integer" + }, + "Font": { + "$ref": "#/definitions/InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "integer" + }, + "FontResolution": { + "type": "integer" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "integer" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "integer" + }, + "ShadowXOffset": { + "type": "integer" + }, + "ShadowYOffset": { + "type": "integer" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "integer" + }, + "YPosition": { + "type": "integer" + } + }, + "type": "object" + }, + "DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "OcrLanguage": { + "type": "string" + }, + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "integer" + } + }, + "type": "object" + }, + "Eac3AtmosSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "integer" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "HeightTrim": { + "type": "number" + }, + "SurroundTrim": { + "type": "number" + } + }, + "type": "object" + }, + "Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "integer" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "CopyrightHolder": { + "type": "string" + }, + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "EmbeddedDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "EmbeddedPlusScte20DestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "integer" + }, + "Source608TrackNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AudioDescription" + }, + "type": "array", + "uniqueItems": false + }, + "AvailBlanking": { + "$ref": "#/definitions/AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/CaptionDescription" + }, + "type": "array", + "uniqueItems": false + }, + "ColorCorrectionSettings": { + "$ref": "#/definitions/ColorCorrectionSettings" + }, + "FeatureActivations": { + "$ref": "#/definitions/FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/GlobalConfiguration" + }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/MotionGraphicsConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/OutputGroup" + }, + "type": "array", + "uniqueItems": false + }, + "ThumbnailConfiguration": { + "$ref": "#/definitions/ThumbnailConfiguration" + }, + "TimecodeConfig": { + "$ref": "#/definitions/TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/VideoDescription" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EpochLockingSettings": { + "additionalProperties": false, + "properties": { + "CustomEpoch": { + "type": "string" + }, + "JamSyncTime": { + "type": "string" + } + }, + "type": "object" + }, + "Esam": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AdAvailOffset": { + "type": "integer" + }, + "PasswordParam": { + "type": "string" + }, + "PoisEndpoint": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ZoneIdentity": { + "type": "string" + } + }, + "type": "object" + }, + "FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/FailoverConditionSettings" + } + }, + "type": "object" + }, + "FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + }, + "OutputStaticImageOverlayScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "integer" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "integer" + } + }, + "type": "object" + }, + "Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "FrameCaptureCdnSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureS3Settings": { + "$ref": "#/definitions/FrameCaptureS3Settings" + } + }, + "type": "object" + }, + "FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "FrameCaptureCdnSettings": { + "$ref": "#/definitions/FrameCaptureCdnSettings" + } + }, + "type": "object" + }, + "FrameCaptureHlsSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "FrameCaptureS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "integer" + }, + "CaptureIntervalUnits": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + } + }, + "type": "object" + }, + "GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "integer" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputLockingSettings": { + "$ref": "#/definitions/OutputLockingSettings" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + } + }, + "type": "object" + }, + "H264FilterSettings": { + "additionalProperties": false, + "properties": { + "BandwidthReductionFilterSettings": { + "$ref": "#/definitions/BandwidthReductionFilterSettings" + }, + "TemporalFilterSettings": { + "$ref": "#/definitions/TemporalFilterSettings" + } + }, + "type": "object" + }, + "H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "integer" + }, + "BufFillPct": { + "type": "integer" + }, + "BufSize": { + "type": "integer" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "integer" + }, + "GopNumBFrames": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "integer" + }, + "MinIInterval": { + "type": "integer" + }, + "MinQp": { + "type": "integer" + }, + "NumRefFrames": { + "type": "integer" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "integer" + }, + "ParNumerator": { + "type": "integer" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "integer" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "integer" + }, + "Softness": { + "type": "integer" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "DolbyVision81Settings": { + "$ref": "#/definitions/DolbyVision81Settings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + } + }, + "type": "object" + }, + "H265FilterSettings": { + "additionalProperties": false, + "properties": { + "BandwidthReductionFilterSettings": { + "$ref": "#/definitions/BandwidthReductionFilterSettings" + }, + "TemporalFilterSettings": { + "$ref": "#/definitions/TemporalFilterSettings" + } + }, + "type": "object" + }, + "H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "integer" + }, + "BufSize": { + "type": "integer" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopClosedCadence": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "integer" + }, + "MinIInterval": { + "type": "integer" + }, + "MinQp": { + "type": "integer" + }, + "MvOverPictureBoundaries": { + "type": "string" + }, + "MvTemporalPredictor": { + "type": "string" + }, + "ParDenominator": { + "type": "integer" + }, + "ParNumerator": { + "type": "integer" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "integer" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "integer" + }, + "Tier": { + "type": "string" + }, + "TileHeight": { + "type": "integer" + }, + "TilePadding": { + "type": "string" + }, + "TileWidth": { + "type": "integer" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "TimecodeInsertion": { + "type": "string" + }, + "TreeblockSize": { + "type": "string" + } + }, + "type": "object" + }, + "Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "integer" + }, + "MaxFall": { + "type": "integer" + } + }, + "type": "object" + }, + "HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/HlsMediaStoreSettings" + }, + "HlsS3Settings": { + "$ref": "#/definitions/HlsS3Settings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/HlsWebdavSettings" + } + }, + "type": "object" + }, + "HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/CaptionLanguageMapping" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "integer" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "integer" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "integer" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimeClock": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "integer" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "integer" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "integer" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "integer" + }, + "TimestampDeltaMilliseconds": { + "type": "integer" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "integer" + }, + "BufferSegments": { + "type": "integer" + }, + "Retries": { + "type": "integer" + }, + "RetryInterval": { + "type": "integer" + }, + "Scte35Source": { + "type": "string" + } + }, + "type": "object" + }, + "HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "HlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/Fmp4HlsSettings" + }, + "FrameCaptureHlsSettings": { + "$ref": "#/definitions/FrameCaptureHlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/StandardHlsSettings" + } + }, + "type": "object" + }, + "HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "integer" + }, + "FilecacheDuration": { + "type": "integer" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "HtmlMotionGraphicsSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/InputSettings" + }, + "LogicalInterfaceNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "integer" + }, + "InputChannel": { + "type": "integer" + } + }, + "type": "object" + }, + "InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "integer" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AudioSelector" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/CaptionSelector" + }, + "type": "array", + "uniqueItems": false + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "integer" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/NetworkInputSettings" + }, + "Scte35Pid": { + "type": "integer" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/VideoSelector" + } + }, + "type": "object" + }, + "InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/StaticKeySettings" + } + }, + "type": "object" + }, + "M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "integer" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "integer" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "integer" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "integer" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "integer" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "integer" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "integer" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "Scte35PrerollPullupMilliseconds": { + "type": "number" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "integer" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "integer" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "KlvBehavior": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "integer" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "integer" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "integer" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "integer" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "integer" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "MaintenanceCreateSettings": { + "additionalProperties": false, + "properties": { + "MaintenanceDay": { + "type": "string" + }, + "MaintenanceStartTime": { + "type": "string" + } + }, + "type": "object" + }, + "MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + } + }, + "type": "object" + }, + "MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "MediaPackageOutputSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/MotionGraphicsSettings" + } + }, + "type": "object" + }, + "MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, + "Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/TemporalFilterSettings" + } + }, + "type": "object" + }, + "Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "integer" + }, + "FramerateNumerator": { + "type": "integer" + }, + "GopClosedCadence": { + "type": "integer" + }, + "GopNumBFrames": { + "type": "integer" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "integer" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "integer" + }, + "FragmentLength": { + "type": "integer" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "integer" + }, + "RestartDelay": { + "type": "integer" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "integer" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "MulticastInputSettings": { + "additionalProperties": false, + "properties": { + "SourceIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "MultiplexContainerSettings": { + "additionalProperties": false, + "properties": { + "MultiplexM2tsSettings": { + "$ref": "#/definitions/MultiplexM2tsSettings" + } + }, + "type": "object" + }, + "MultiplexGroupSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "MultiplexM2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "integer" + }, + "AudioStreamType": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "Klv": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "integer" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35PrerollPullupMilliseconds": { + "type": "number" + } + }, + "type": "object" + }, + "MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/MultiplexContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + } + }, + "type": "object" + }, + "MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/HlsInputSettings" + }, + "MulticastInputSettings": { + "$ref": "#/definitions/MulticastInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenCBET": { + "additionalProperties": false, + "properties": { + "CbetCheckDigitString": { + "type": "string" + }, + "CbetStepaside": { + "type": "string" + }, + "Csid": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenNaesIiNw": { + "additionalProperties": false, + "properties": { + "CheckDigitString": { + "type": "string" + }, + "Sid": { + "type": "number" + }, + "Timezone": { + "type": "string" + } + }, + "type": "object" + }, + "NielsenWatermarksSettings": { + "additionalProperties": false, + "properties": { + "NielsenCbetSettings": { + "$ref": "#/definitions/NielsenCBET" + }, + "NielsenDistributionType": { + "type": "string" + }, + "NielsenNaesIiNwSettings": { + "$ref": "#/definitions/NielsenNaesIiNw" + } + }, + "type": "object" + }, + "Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/MediaPackageOutputDestinationSettings" + }, + "type": "array", + "uniqueItems": false + }, + "MultiplexSettings": { + "$ref": "#/definitions/MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/OutputDestinationSettings" + }, + "type": "array", + "uniqueItems": false + }, + "SrtSettings": { + "items": { + "$ref": "#/definitions/SrtOutputDestinationSettings" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/Output" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/ArchiveGroupSettings" + }, + "CmafIngestGroupSettings": { + "$ref": "#/definitions/CmafIngestGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/RtmpGroupSettings" + }, + "SrtGroupSettings": { + "$ref": "#/definitions/SrtGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/UdpGroupSettings" + } + }, + "type": "object" + }, + "OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "OutputLockingSettings": { + "additionalProperties": false, + "properties": { + "EpochLockingSettings": { + "$ref": "#/definitions/EpochLockingSettings" + }, + "PipelineLockingSettings": { + "$ref": "#/definitions/PipelineLockingSettings" + } + }, + "type": "object" + }, + "OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/ArchiveOutputSettings" + }, + "CmafIngestOutputSettings": { + "$ref": "#/definitions/CmafIngestOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/RtmpOutputSettings" + }, + "SrtOutputSettings": { + "$ref": "#/definitions/SrtOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/UdpOutputSettings" + } + }, + "type": "object" + }, + "PassThroughSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "PipelineLockingSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "RawSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Rec601Settings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Rec709Settings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AudioChannelMapping" + }, + "type": "array", + "uniqueItems": false + }, + "ChannelsIn": { + "type": "integer" + }, + "ChannelsOut": { + "type": "integer" + } + }, + "type": "object" + }, + "RtmpCaptionInfoDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "integer" + }, + "CaptionData": { + "type": "string" + }, + "IncludeFillerNalUnits": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "integer" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "NumRetries": { + "type": "integer" + } + }, + "type": "object" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "Scte27DestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "OcrLanguage": { + "type": "string" + }, + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "integer" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "integer" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "SmpteTtDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "SrtGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + } + }, + "type": "object" + }, + "SrtOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "EncryptionPassphraseSecretArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "SrtOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "integer" + }, + "ContainerSettings": { + "$ref": "#/definitions/UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "EncryptionType": { + "type": "string" + }, + "Latency": { + "type": "integer" + } + }, + "type": "object" + }, + "StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/M3u8Settings" + } + }, + "type": "object" + }, + "StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "TeletextDestinationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "OutputRectangle": { + "$ref": "#/definitions/CaptionRectangle" + }, + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "ThumbnailConfiguration": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "type": "object" + }, + "TimecodeBurninSettings": { + "additionalProperties": false, + "properties": { + "FontSize": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, + "TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "integer" + } + }, + "type": "object" + }, + "TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/M2tsSettings" + } + }, + "type": "object" + }, + "UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "integer" + } + }, + "type": "object" + }, + "UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "integer" + }, + "ContainerSettings": { + "$ref": "#/definitions/UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/FecOutputSettings" + } + }, + "type": "object" + }, + "VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "Av1Settings": { + "$ref": "#/definitions/Av1Settings" + }, + "FrameCaptureSettings": { + "$ref": "#/definitions/FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/Mpeg2Settings" + } + }, + "type": "object" + }, + "VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/VideoCodecSettings" + }, + "Height": { + "type": "integer" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "integer" + }, + "Width": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/VideoSelectorColorSpaceSettings" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/VideoSelectorSettings" + } + }, + "type": "object" + }, + "VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + } + }, + "type": "object" + }, + "VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "integer" + } + }, + "type": "object" + }, + "VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/VideoSelectorProgramId" + } + }, + "type": "object" + }, + "VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "WebvttDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AnywhereSettings": { + "$ref": "#/definitions/AnywhereSettings" + }, + "Arn": { + "type": "string" + }, + "CdiInputSpecification": { + "$ref": "#/definitions/CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/OutputDestination" + }, + "type": "array", + "uniqueItems": false + }, + "EncoderSettings": { + "$ref": "#/definitions/EncoderSettings" + }, + "Id": { + "type": "string" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/InputAttachment" + }, + "type": "array", + "uniqueItems": false + }, + "InputSpecification": { + "$ref": "#/definitions/InputSpecification" + }, + "Inputs": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LogLevel": { + "type": "string" + }, + "Maintenance": { + "$ref": "#/definitions/MaintenanceCreateSettings" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Vpc": { + "$ref": "#/definitions/VpcOutputSettings" + } + }, + "readOnlyProperties": [ + "/properties/Inputs", + "/properties/Id", + "/properties/Arn" + ], + "typeName": "AWS::MediaLive::Channel" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-input.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-input.json new file mode 100644 index 0000000000..da0d73a7e8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-medialive-input.json @@ -0,0 +1,249 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Vpc", + "/properties/Type", + "/properties/InputNetworkLocation" + ], + "definitions": { + "InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "Network": { + "type": "string" + }, + "NetworkRoutes": { + "items": { + "$ref": "#/definitions/InputRequestDestinationRoute" + }, + "type": "array", + "uniqueItems": false + }, + "StaticIpAddress": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "InputRequestDestinationRoute": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Gateway": { + "type": "string" + } + }, + "type": "object" + }, + "InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "MulticastSettingsCreateRequest": { + "additionalProperties": false, + "properties": { + "Sources": { + "items": { + "$ref": "#/definitions/MulticastSourceCreateRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "MulticastSourceCreateRequest": { + "additionalProperties": false, + "properties": { + "SourceIp": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "SrtCallerDecryptionRequest": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "PassphraseSecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "SrtCallerSourceRequest": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/SrtCallerDecryptionRequest" + }, + "MinimumLatency": { + "type": "integer" + }, + "SrtListenerAddress": { + "type": "string" + }, + "SrtListenerPort": { + "type": "string" + }, + "StreamId": { + "type": "string" + } + }, + "type": "object" + }, + "SrtSettingsRequest": { + "additionalProperties": false, + "properties": { + "SrtCallerSources": { + "items": { + "$ref": "#/definitions/SrtCallerSourceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/InputDestinationRequest" + }, + "type": "array", + "uniqueItems": false + }, + "Id": { + "type": "string" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/InputDeviceSettings" + }, + "type": "array", + "uniqueItems": false + }, + "InputNetworkLocation": { + "type": "string" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/MediaConnectFlowRequest" + }, + "type": "array", + "uniqueItems": false + }, + "MulticastSettings": { + "$ref": "#/definitions/MulticastSettingsCreateRequest" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/InputSourceRequest" + }, + "type": "array", + "uniqueItems": false + }, + "SrtSettings": { + "$ref": "#/definitions/SrtSettingsRequest" + }, + "Tags": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/InputVpcRequest" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "typeName": "AWS::MediaLive::Input" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..03475784a5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-route53resolver-resolverrule.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + }, + "ServerNameIndication": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "pattern": "(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)", + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-identityprovider.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-identityprovider.json deleted file mode 100644 index b385b468dc..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-identityprovider.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PortalArn" - ], - "definitions": { - "IdentityProviderDetails": { - "additionalProperties": false, - "patternProperties": { - "^[\\s\\S]*$": { - "maxLength": 131072, - "minLength": 0, - "pattern": "^[\\s\\S]*$", - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SAML", - "Facebook", - "Google", - "LoginWithAmazon", - "SignInWithApple", - "OIDC" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/IdentityProviderArn" - ], - "properties": { - "IdentityProviderArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36}){2,}$", - "type": "string" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderName": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+$", - "type": "string" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType", - "enum": [ - "Facebook", - "Google", - "LoginWithAmazon", - "OIDC", - "SAML", - "SignInWithApple" - ] - }, - "PortalArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/IdentityProviderArn" - ], - "required": [ - "IdentityProviderDetails", - "IdentityProviderName", - "IdentityProviderType" - ], - "sourceUrl": "https://github.com/shivankgoel/aws-cloudformation-resource-providers-workspaces-web", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::WorkSpacesWeb::IdentityProvider", - "writeOnlyProperties": [ - "/properties/PortalArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-usersettings.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-usersettings.json deleted file mode 100644 index 4d3494b4b2..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesweb-usersettings.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AdditionalEncryptionContext", - "/properties/CustomerManagedKey" - ], - "definitions": { - "CookieSpecification": { - "additionalProperties": false, - "properties": { - "Domain": { - "maxLength": 253, - "minLength": 0, - "pattern": "^(\\.?)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$", - "type": "string" - }, - "Name": { - "maxLength": 4096, - "minLength": 0, - "type": "string" - }, - "Path": { - "maxLength": 2000, - "minLength": 0, - "pattern": "^/(\\S)*$", - "type": "string" - } - }, - "required": [ - "Domain" - ], - "type": "object" - }, - "CookieSynchronizationConfiguration": { - "additionalProperties": false, - "properties": { - "Allowlist": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CookieSpecification" - }, - "maxItems": 10, - "minItems": 0, - "type": "array" - }, - "Blocklist": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CookieSpecification" - }, - "maxItems": 10, - "minItems": 0, - "type": "array" - } - }, - "required": [ - "Allowlist" - ], - "type": "object" - }, - "EnabledType": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - }, - "EncryptionContextMap": { - "additionalProperties": false, - "patternProperties": { - "^[\\s\\S]*$": { - "maxLength": 131072, - "minLength": 0, - "pattern": "^[\\s\\S]*$", - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserSettingsArn" - ], - "properties": { - "AdditionalEncryptionContext": { - "$ref": "#/definitions/EncryptionContextMap" - }, - "AssociatedPortalArns": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$", - "type": "string" - }, - "type": "array" - }, - "CookieSynchronizationConfiguration": { - "$ref": "#/definitions/CookieSynchronizationConfiguration" - }, - "CopyAllowed": { - "$ref": "#/definitions/EnabledType", - "enum": [ - "Disabled", - "Enabled" - ] - }, - "CustomerManagedKey": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "DeepLinkAllowed": { - "$ref": "#/definitions/EnabledType", - "enum": [ - "Disabled", - "Enabled" - ] - }, - "DisconnectTimeoutInMinutes": { - "default": null, - "maximum": 600, - "minimum": 1, - "type": "number" - }, - "DownloadAllowed": { - "$ref": "#/definitions/EnabledType", - "enum": [ - "Disabled", - "Enabled" - ] - }, - "IdleDisconnectTimeoutInMinutes": { - "default": null, - "maximum": 60, - "minimum": 0, - "type": "number" - }, - "PasteAllowed": { - "$ref": "#/definitions/EnabledType", - "enum": [ - "Disabled", - "Enabled" - ] - }, - "PrintAllowed": { - "$ref": "#/definitions/EnabledType", - "enum": [ - "Disabled", - "Enabled" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - }, - "UploadAllowed": { - "$ref": "#/definitions/EnabledType", - "enum": [ - "Disabled", - "Enabled" - ] - }, - "UserSettingsArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AssociatedPortalArns", - "/properties/UserSettingsArn" - ], - "required": [ - "CopyAllowed", - "DownloadAllowed", - "PasteAllowed", - "PrintAllowed", - "UploadAllowed" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::WorkSpacesWeb::UserSettings" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index d778236ad9..5c16b63582 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -1477,7 +1477,6 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", "aws-docdb-dbcluster.json", @@ -1589,9 +1588,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", "aws-efs-mounttarget.json", @@ -1789,7 +1786,6 @@ "aws-kendra-datasource.json", "aws-kendra-faq.json", "aws-kendra-index.json", - "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-application.json", "aws-kinesisanalytics-applicationoutput.json", @@ -1922,7 +1918,6 @@ "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -2013,7 +2008,6 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -2022,7 +2016,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", @@ -2071,7 +2064,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-dms-replicationinstance.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-dms-replicationinstance.json new file mode 100644 index 0000000000..3d4dfcb1dc --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-dms-replicationinstance.json @@ -0,0 +1,106 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/ResourceIdentifier", + "/properties/ReplicationSubnetGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationInstancePrivateIpAddresses": { + "type": "string" + }, + "ReplicationInstancePublicIpAddresses": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/ReplicationInstancePublicIpAddresses", + "/properties/Id", + "/properties/ReplicationInstancePrivateIpAddresses" + ], + "required": [ + "ReplicationInstanceClass" + ], + "typeName": "AWS::DMS::ReplicationInstance" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..46000178b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json @@ -0,0 +1,397 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "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:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", + "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", + "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", + "/properties/StorageType": "$lowercase(StorageType)" + }, + "readOnlyProperties": [ + "/properties/DBClusterArn", + "/properties/DBClusterResourceId", + "/properties/Endpoint", + "/properties/Endpoint/Address", + "/properties/Endpoint/Port", + "/properties/ReadEndpoint/Address", + "/properties/MasterUserSecret/SecretArn", + "/properties/StorageThroughput" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..d228afbbad --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbsubnetgroup.json @@ -0,0 +1,71 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DBSubnetGroupName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBSubnetGroupName" + ], + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..03475784a5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-route53resolver-resolverrule.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + }, + "ServerNameIndication": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "pattern": "(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)", + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 715049fee0..0b68a06e63 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1330,9 +1330,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", "aws-efs-mounttarget.json", @@ -1416,7 +1414,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1483,7 +1480,6 @@ "aws-kafkaconnect-connector.json", "aws-kafkaconnect-customplugin.json", "aws-kafkaconnect-workerconfiguration.json", - "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-applicationoutput.json", "aws-kinesisanalyticsv2-application.json", @@ -1594,7 +1590,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" 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 f29477f428..450505a7d6 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -912,9 +912,7 @@ "aws-ecs-capacityprovider.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", "aws-efs-mounttarget.json", @@ -976,7 +974,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1002,7 +999,6 @@ "aws-imagebuilder-imagerecipe.json", "aws-imagebuilder-infrastructureconfiguration.json", "aws-imagebuilder-workflow.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1048,7 +1044,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1081,7 +1076,6 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -1090,7 +1084,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", @@ -1162,6 +1155,7 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", + "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..46000178b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json @@ -0,0 +1,397 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "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:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", + "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", + "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", + "/properties/StorageType": "$lowercase(StorageType)" + }, + "readOnlyProperties": [ + "/properties/DBClusterArn", + "/properties/DBClusterResourceId", + "/properties/Endpoint", + "/properties/Endpoint/Address", + "/properties/Endpoint/Port", + "/properties/ReadEndpoint/Address", + "/properties/MasterUserSecret/SecretArn", + "/properties/StorageThroughput" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..d228afbbad --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbsubnetgroup.json @@ -0,0 +1,71 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DBSubnetGroupName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBSubnetGroupName" + ], + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secrettargetattachment.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secrettargetattachment.json deleted file mode 100644 index 8b5501d290..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secrettargetattachment.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "SecretId", - "TargetType", - "TargetId" - ], - "typeName": "AWS::SecretsManager::SecretTargetAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, 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 f956801503..3fdcf42927 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -927,9 +927,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", "aws-efs-mounttarget.json", @@ -1003,7 +1001,6 @@ "aws-glue-trigger.json", "aws-glue-usageprofile.json", "aws-glue-workflow.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1062,7 +1059,6 @@ "aws-iot-thingtype.json", "aws-iot-topicrule.json", "aws-iot-topicruledestination.json", - "aws-kinesis-stream.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", @@ -1119,7 +1115,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-host.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-host.json index c08ad7d3cf..3f8a8acd62 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-host.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-host.json @@ -9,10 +9,6 @@ ], "properties": { "AutoPlacement": { - "enum": [ - "off", - "on" - ], "type": "string" }, "AvailabilityZone": { diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-waf-rule.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-waf-rule.json index fee0c5bbb0..b710c22a22 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-waf-rule.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-waf-rule.json @@ -15,15 +15,6 @@ "type": "boolean" }, "Type": { - "enum": [ - "ByteMatch", - "GeoMatch", - "IPMatch", - "RegexMatch", - "SizeConstraint", - "SqlInjectionMatch", - "XssMatch" - ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py index 0bd3a7efdc..d3cc82586e 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -1115,9 +1115,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", "aws-efs-mounttarget.json", @@ -1205,7 +1203,6 @@ "aws-groundstation-config.json", "aws-groundstation-dataflowendpointgroup.json", "aws-groundstation-missionprofile.json", - "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", "aws-guardduty-malwareprotectionplan.json", @@ -1269,7 +1266,6 @@ "aws-iot-thingtype.json", "aws-iot-topicrule.json", "aws-iot-topicruledestination.json", - "aws-kinesis-stream.json", "aws-kinesisanalytics-applicationoutput.json", "aws-kinesisanalyticsv2-application.json", "aws-kinesisanalyticsv2-applicationoutput.json", @@ -1322,7 +1318,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", - "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", @@ -1365,7 +1360,6 @@ "aws-pipes-pipe.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -1374,7 +1368,6 @@ "aws-rds-dbproxytargetgroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", - "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-integration.json", @@ -1464,6 +1457,7 @@ "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", "aws-secretsmanager-secret.json", + "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-detector.json new file mode 100644 index 0000000000..efaad17ff9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-detector.json @@ -0,0 +1,184 @@ +{ + "additionalProperties": false, + "definitions": { + "CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "Kubernetes": { + "$ref": "#/definitions/CFNKubernetesConfiguration" + }, + "MalwareProtection": { + "$ref": "#/definitions/CFNMalwareProtectionConfiguration" + }, + "S3Logs": { + "$ref": "#/definitions/CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "CFNFeatureAdditionalConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "CFNFeatureConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalConfiguration": { + "items": { + "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" + }, + "type": "array" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "Status": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Status" + ], + "type": "object" + }, + "CFNKubernetesAuditLogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNKubernetesConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogs": { + "$ref": "#/definitions/CFNKubernetesAuditLogsConfiguration" + } + }, + "required": [ + "AuditLogs" + ], + "type": "object" + }, + "CFNMalwareProtectionConfiguration": { + "additionalProperties": false, + "properties": { + "ScanEc2InstanceWithFindings": { + "$ref": "#/definitions/CFNScanEc2InstanceWithFindingsConfiguration" + } + }, + "type": "object" + }, + "CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "CFNScanEc2InstanceWithFindingsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsVolumes": { + "type": "boolean" + } + }, + "type": "object" + }, + "TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "DataSources": { + "$ref": "#/definitions/CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "Features": { + "items": { + "$ref": "#/definitions/CFNFeatureConfiguration" + }, + "type": "array" + }, + "FindingPublishingFrequency": { + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Enable" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::GuardDuty::Detector" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-kinesis-stream.json new file mode 100644 index 0000000000..be1bc65c07 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-kinesis-stream.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "enum": [ + "KMS" + ], + "type": "string" + }, + "KeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "StreamModeDetails": { + "additionalProperties": false, + "properties": { + "StreamMode": { + "enum": [ + "ON_DEMAND", + "PROVISIONED" + ], + "type": "string" + } + }, + "required": [ + "StreamMode" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "RetentionPeriodHours": { + "maximum": 8760, + "minimum": 1, + "type": "integer" + }, + "ShardCount": { + "maximum": 100000, + "minimum": 1, + "type": "integer" + }, + "StreamEncryption": { + "$ref": "#/definitions/StreamEncryption" + }, + "StreamModeDetails": { + "$ref": "#/definitions/StreamModeDetails", + "default": { + "StreamMode": "PROVISIONED" + } + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Kinesis::Stream" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewallpolicy.json new file mode 100644 index 0000000000..973b595561 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewallpolicy.json @@ -0,0 +1,332 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FirewallPolicyName" + ], + "definitions": { + "ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/PublishMetricAction" + } + }, + "type": "object" + }, + "CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/ActionDefinition" + }, + "ActionName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + } + }, + "required": [ + "ActionName", + "ActionDefinition" + ], + "type": "object" + }, + "Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_ ]+$", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "FirewallPolicy": { + "additionalProperties": false, + "properties": { + "PolicyVariables": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/RuleVariables" + } + }, + "type": "object" + }, + "StatefulDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatefulEngineOptions": { + "$ref": "#/definitions/StatefulEngineOptions" + }, + "StatefulRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatefulRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessCustomActions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CustomAction" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessFragmentDefaultActions": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "StatelessRuleGroupReferences": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/StatelessRuleGroupReference" + }, + "type": "array", + "uniqueItems": false + }, + "TLSInspectionConfigurationArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/VariableDefinition" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OverrideAction": { + "enum": [ + "DROP_TO_ALERT" + ], + "type": "string" + }, + "Priority": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Dimension" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(arn:aws.*)$", + "type": "string" + }, + "RuleOrder": { + "enum": [ + "DEFAULT_ACTION_ORDER", + "STRICT_ORDER" + ], + "type": "string" + }, + "RuleVariables": { + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z0-9_]{1,32}$": { + "$ref": "#/definitions/IPSet" + } + }, + "type": "object" + }, + "StatefulEngineOptions": { + "additionalProperties": false, + "properties": { + "RuleOrder": { + "$ref": "#/definitions/RuleOrder" + }, + "StreamExceptionPolicy": { + "$ref": "#/definitions/StreamExceptionPolicy" + } + }, + "type": "object" + }, + "StatefulRuleGroupOverride": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/OverrideAction" + } + }, + "type": "object" + }, + "StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Override": { + "$ref": "#/definitions/StatefulRuleGroupOverride" + }, + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "$ref": "#/definitions/Priority" + }, + "ResourceArn": { + "$ref": "#/definitions/ResourceArn" + } + }, + "required": [ + "ResourceArn", + "Priority" + ], + "type": "object" + }, + "StreamExceptionPolicy": { + "enum": [ + "DROP", + "CONTINUE", + "REJECT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "pattern": "^.*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VariableDefinition": { + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/FirewallPolicyArn" + ], + "properties": { + "Description": { + "maxLength": 512, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/FirewallPolicy" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallPolicyName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/FirewallPolicyArn", + "/properties/FirewallPolicyId" + ], + "required": [ + "FirewallPolicyName", + "FirewallPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkFirewall::FirewallPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..46000178b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json @@ -0,0 +1,397 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "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:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", + "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", + "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", + "/properties/StorageType": "$lowercase(StorageType)" + }, + "readOnlyProperties": [ + "/properties/DBClusterArn", + "/properties/DBClusterResourceId", + "/properties/Endpoint", + "/properties/Endpoint/Address", + "/properties/Endpoint/Port", + "/properties/ReadEndpoint/Address", + "/properties/MasterUserSecret/SecretArn", + "/properties/StorageThroughput" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..d228afbbad --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbsubnetgroup.json @@ -0,0 +1,71 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DBSubnetGroupName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBSubnetGroupName" + ], + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBSubnetGroup" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-imageversion.json index 4babd64287..e7c91ccc8d 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-secretsmanager-secrettargetattachment.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-secretsmanager-secrettargetattachment.json deleted file mode 100644 index 8b5501d290..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-secretsmanager-secrettargetattachment.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "SecretId", - "TargetType", - "TargetId" - ], - "typeName": "AWS::SecretsManager::SecretTargetAttachment" -} 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 1b7a713b3e..331474c606 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -559,6 +559,7 @@ "AWS::KafkaConnect::Connector", "AWS::KafkaConnect::CustomPlugin", "AWS::KafkaConnect::WorkerConfiguration", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", @@ -1371,9 +1372,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", "aws-efs-mounttarget.json", @@ -1542,6 +1541,7 @@ "aws-kafkaconnect-connector.json", "aws-kafkaconnect-customplugin.json", "aws-kafkaconnect-workerconfiguration.json", + "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", "aws-kinesisanalytics-applicationoutput.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-service.json new file mode 100644 index 0000000000..ba7baa1de3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-service.json @@ -0,0 +1,585 @@ +{ + "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": { + "items": { + "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": { + "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": { + "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": { + "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": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutConfiguration": { + "additionalProperties": false, + "properties": { + "IdleTimeoutSeconds": { + "type": "integer" + }, + "PerRequestTimeoutSeconds": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ServiceArn", + "/properties/Cluster" + ], + "properties": { + "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" + } + }, + "readOnlyProperties": [ + "/properties/ServiceArn", + "/properties/Name" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::Service", + "writeOnlyProperties": [ + "/properties/ServiceConnectConfiguration", + "/properties/VolumeConfigurations" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-taskset.json new file mode 100644 index 0000000000..3491488499 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecs-taskset.json @@ -0,0 +1,191 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition" + ], + "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" + }, + "maxItems": 5, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "type": "object" + }, + "Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "enum": [ + "PERCENT" + ], + "type": "string" + }, + "Value": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LaunchType": { + "enum": [ + "EC2", + "FARGATE" + ], + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ECS::TaskSet" +} 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 4e6656278b..d1cbd4cf14 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py @@ -748,6 +748,7 @@ "AWS::Kendra::Faq", "AWS::Kendra::Index", "AWS::KendraRanking::ExecutionPlan", + "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalytics::Application", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json index 13532c5d7c..1d4e254a36 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json @@ -1086,33 +1086,7 @@ "type": "string" }, "ConnectorType": { - "$ref": "#/definitions/ConnectorType", - "enum": [ - "Amplitude", - "CustomConnector", - "CustomerProfiles", - "Datadog", - "Dynatrace", - "EventBridge", - "Googleanalytics", - "Honeycode", - "Infornexus", - "LookoutMetrics", - "Marketo", - "Pardot", - "Redshift", - "S3", - "SAPOData", - "Salesforce", - "Servicenow", - "Singular", - "Slack", - "Snowflake", - "Trendmicro", - "Upsolver", - "Veeva", - "Zendesk" - ] + "$ref": "#/definitions/ConnectorType" }, "CredentialsArn": { "maxLength": 512, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json index 6ce3541ac2..6d56953d74 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json @@ -120,11 +120,7 @@ "type": "string" }, "PackagingType": { - "$ref": "#/definitions/PackagingType", - "enum": [ - "APPSTREAM2", - "CUSTOM" - ] + "$ref": "#/definitions/PackagingType" }, "PostSetupScriptDetails": { "$ref": "#/definitions/ScriptDetails" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblockbuilder.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblockbuilder.json index 762e33e51f..b6c853026a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblockbuilder.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblockbuilder.json @@ -117,10 +117,7 @@ "type": "string" }, "Platform": { - "$ref": "#/definitions/PlatformType", - "enum": [ - "WINDOWS_SERVER_2019" - ] + "$ref": "#/definitions/PlatformType" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json index da43c9fd3b..cb499f8d1e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json @@ -78,8 +78,7 @@ ], "properties": { "AppBlockArn": { - "$ref": "#/definitions/Arn", - "pattern": "^arn:aws(?:\\-cn|\\-iso\\-b|\\-iso|\\-us\\-gov)?:[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,1023}$" + "$ref": "#/definitions/Arn" }, "Arn": { "$ref": "#/definitions/Arn" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-auditmanager-assessment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-auditmanager-assessment.json index 91369b231f..b7218ab5f8 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-auditmanager-assessment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-auditmanager-assessment.json @@ -263,16 +263,13 @@ "type": "array" }, "Description": { - "$ref": "#/definitions/AssessmentDescription", - "pattern": "^[\\w\\W\\s\\S]*$" + "$ref": "#/definitions/AssessmentDescription" }, "FrameworkId": { - "$ref": "#/definitions/FrameworkId", - "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + "$ref": "#/definitions/FrameworkId" }, "Name": { - "$ref": "#/definitions/AssessmentName", - "pattern": "^[^\\\\]*$" + "$ref": "#/definitions/AssessmentName" }, "Roles": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-capability.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-capability.json index 8a898212eb..ed16dd64e4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-capability.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-capability.json @@ -267,10 +267,7 @@ "type": "array" }, "Type": { - "$ref": "#/definitions/CapabilityType", - "enum": [ - "edi" - ] + "$ref": "#/definitions/CapabilityType" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-profile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-profile.json index f2e6fe55c9..2eef77b233 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-profile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-profile.json @@ -57,11 +57,7 @@ "type": "string" }, "Logging": { - "$ref": "#/definitions/Logging", - "enum": [ - "DISABLED", - "ENABLED" - ] + "$ref": "#/definitions/Logging" }, "ModifiedAt": { "format": "date-time", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-transformer.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-transformer.json index ce0eba7cba..56eadc839d 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-transformer.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-b2bi-transformer.json @@ -293,12 +293,7 @@ "$ref": "#/definitions/EdiType" }, "FileFormat": { - "$ref": "#/definitions/FileFormat", - "enum": [ - "JSON", - "NOT_USED", - "XML" - ] + "$ref": "#/definitions/FileFormat" }, "InputConversion": { "$ref": "#/definitions/InputConversion" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-backup-backupvault.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-backup-backupvault.json index dd7a93a281..68810ab941 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-backup-backupvault.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-backup-backupvault.json @@ -63,8 +63,7 @@ "type": "string" }, "BackupVaultName": { - "$ref": "#/definitions/BackupVaultNamePattern", - "pattern": "^[a-zA-Z0-9\\-\\_]{2,50}$" + "$ref": "#/definitions/BackupVaultNamePattern" }, "BackupVaultTags": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ce-costcategory.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ce-costcategory.json index 8c1b8d4e94..3835cb3cc2 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ce-costcategory.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ce-costcategory.json @@ -26,8 +26,7 @@ "type": "string" }, "EffectiveStart": { - "$ref": "#/definitions/ZonedDateTime", - "pattern": "^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(([+-]\\d\\d:\\d\\d)|Z)$" + "$ref": "#/definitions/ZonedDateTime" }, "Name": { "maxLength": 50, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-collaboration.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-collaboration.json index 5f2ad30ff0..f06c4a24db 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-collaboration.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-collaboration.json @@ -157,8 +157,7 @@ "type": "string" }, "CreatorDisplayName": { - "$ref": "#/definitions/Name", - "pattern": "(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" + "$ref": "#/definitions/Name" }, "CreatorMemberAbilities": { "$ref": "#/definitions/MemberAbilities" @@ -191,11 +190,7 @@ "type": "string" }, "QueryLogStatus": { - "$ref": "#/definitions/CollaborationQueryLogStatus", - "enum": [ - "DISABLED", - "ENABLED" - ] + "$ref": "#/definitions/CollaborationQueryLogStatus" }, "Tags": { "insertionOrder": false, 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 a2944700fc..b11af86ad1 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 @@ -466,10 +466,7 @@ "type": "array" }, "AnalysisMethod": { - "$ref": "#/definitions/AnalysisMethod", - "enum": [ - "DIRECT_QUERY" - ] + "$ref": "#/definitions/AnalysisMethod" }, "AnalysisRules": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idmappingtable.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idmappingtable.json index 5b290a1c1c..ea68911580 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idmappingtable.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idmappingtable.json @@ -130,8 +130,7 @@ "type": "string" }, "MembershipIdentifier": { - "$ref": "#/definitions/UUID", - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + "$ref": "#/definitions/UUID" }, "Name": { "maxLength": 128, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idnamespaceassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idnamespaceassociation.json index 608b44a317..790b5213c1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idnamespaceassociation.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-idnamespaceassociation.json @@ -127,8 +127,7 @@ "type": "string" }, "MembershipIdentifier": { - "$ref": "#/definitions/UUID", - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + "$ref": "#/definitions/UUID" }, "Name": { "maxLength": 100, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-membership.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-membership.json index 5dc557645d..da1ef65560 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-membership.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-membership.json @@ -158,11 +158,7 @@ "$ref": "#/definitions/MembershipPaymentConfiguration" }, "QueryLogStatus": { - "$ref": "#/definitions/MembershipQueryLogStatus", - "enum": [ - "DISABLED", - "ENABLED" - ] + "$ref": "#/definitions/MembershipQueryLogStatus" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudtrail-channel.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudtrail-channel.json index 591f038691..ae81beebeb 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudtrail-channel.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudtrail-channel.json @@ -85,8 +85,7 @@ "uniqueItems": true }, "Name": { - "$ref": "#/definitions/ChannelName", - "pattern": "^[a-zA-Z0-9._\\-]+$" + "$ref": "#/definitions/ChannelName" }, "Source": { "maxLength": 256, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-comprehend-documentclassifier.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-comprehend-documentclassifier.json index 3456f08269..8a72077b84 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-comprehend-documentclassifier.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-comprehend-documentclassifier.json @@ -270,8 +270,7 @@ "type": "string" }, "ModelKmsKeyId": { - "$ref": "#/definitions/KmsKeyId", - "pattern": "^\\p{ASCII}+$" + "$ref": "#/definitions/KmsKeyId" }, "ModelPolicy": { "maxLength": 20000, @@ -297,8 +296,7 @@ "type": "string" }, "VolumeKmsKeyId": { - "$ref": "#/definitions/KmsKeyId", - "pattern": "^\\p{ASCII}+$" + "$ref": "#/definitions/KmsKeyId" }, "VpcConfig": { "$ref": "#/definitions/VpcConfig" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-integrationassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-integrationassociation.json index 94865ec7f6..0999b2c7e0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-integrationassociation.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-integrationassociation.json @@ -46,18 +46,7 @@ "$ref": "#/definitions/IntegrationAssociationId" }, "IntegrationType": { - "$ref": "#/definitions/IntegrationType", - "enum": [ - "APPLICATION", - "CASES_DOMAIN", - "EVENT", - "FILE_SCANNER", - "PINPOINT_APP", - "VOICE_ID", - "WISDOM_ASSISTANT", - "WISDOM_KNOWLEDGE_BASE", - "WISDOM_QUICK_RESPONSES" - ] + "$ref": "#/definitions/IntegrationType" } }, "readOnlyProperties": [ 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 3cd695042a..8359cb0018 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 @@ -235,11 +235,7 @@ "type": "string" }, "Status": { - "$ref": "#/definitions/Status", - "enum": [ - "ACTIVE", - "INACTIVE" - ] + "$ref": "#/definitions/Status" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-customerprofiles-calculatedattributedefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-customerprofiles-calculatedattributedefinition.json index 584ad64af4..aa6cb3b46a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-customerprofiles-calculatedattributedefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-customerprofiles-calculatedattributedefinition.json @@ -207,8 +207,7 @@ "$ref": "#/definitions/AttributeDetails" }, "CalculatedAttributeName": { - "$ref": "#/definitions/CalculatedAttributeName", - "pattern": "^[a-zA-Z_][a-zA-Z_0-9-]*$" + "$ref": "#/definitions/CalculatedAttributeName" }, "Conditions": { "$ref": "#/definitions/Conditions" @@ -220,28 +219,16 @@ "$ref": "#/definitions/Description" }, "DisplayName": { - "$ref": "#/definitions/DisplayName", - "pattern": "^[a-zA-Z_][a-zA-Z_0-9-\\s]*$" + "$ref": "#/definitions/DisplayName" }, "DomainName": { - "$ref": "#/definitions/DomainName", - "pattern": "^[a-zA-Z0-9_-]+$" + "$ref": "#/definitions/DomainName" }, "LastUpdatedAt": { "type": "string" }, "Statistic": { - "$ref": "#/definitions/Statistic", - "enum": [ - "AVERAGE", - "COUNT", - "FIRST_OCCURRENCE", - "LAST_OCCURRENCE", - "MAXIMUM", - "MAX_OCCURRENCE", - "MINIMUM", - "SUM" - ] + "$ref": "#/definitions/Statistic" }, "Tags": { "$ref": "#/definitions/Tags" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-datasource.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-datasource.json index fbad494d14..209a3e69b4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-datasource.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-datasource.json @@ -342,11 +342,7 @@ "type": "string" }, "EnableSetting": { - "$ref": "#/definitions/EnableSetting", - "enum": [ - "DISABLED", - "ENABLED" - ] + "$ref": "#/definitions/EnableSetting" }, "EnvironmentId": { "pattern": "^[a-zA-Z0-9_-]{1,36}$", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json index 84e1773205..42b829e951 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json @@ -57,11 +57,7 @@ ], "properties": { "Designation": { - "$ref": "#/definitions/UserDesignation", - "enum": [ - "PROJECT_CONTRIBUTOR", - "PROJECT_OWNER" - ] + "$ref": "#/definitions/UserDesignation" }, "DomainIdentifier": { "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-userprofile.json index 28e0d3c29d..279af7085a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-userprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-userprofile.json @@ -118,12 +118,7 @@ "type": "string" }, "UserType": { - "$ref": "#/definitions/UserType", - "enum": [ - "IAM_ROLE", - "IAM_USER", - "SSO_USER" - ] + "$ref": "#/definitions/UserType" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queue.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queue.json index c4a49d9626..530bddebb8 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queue.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queue.json @@ -143,12 +143,7 @@ "type": "string" }, "DefaultBudgetAction": { - "$ref": "#/definitions/DefaultQueueBudgetAction", - "enum": [ - "NONE", - "STOP_SCHEDULING_AND_CANCEL_TASKS", - "STOP_SCHEDULING_AND_COMPLETE_TASKS" - ] + "$ref": "#/definitions/DefaultQueueBudgetAction" }, "Description": { "default": "", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queueenvironment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queueenvironment.json index 46347873ee..aedcc3fbfa 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queueenvironment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-queueenvironment.json @@ -45,11 +45,7 @@ "type": "string" }, "TemplateType": { - "$ref": "#/definitions/EnvironmentTemplateType", - "enum": [ - "JSON", - "YAML" - ] + "$ref": "#/definitions/EnvironmentTemplateType" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-storageprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-storageprofile.json index 20f1842000..890a27367d 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-storageprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-deadline-storageprofile.json @@ -68,12 +68,7 @@ "type": "array" }, "OsFamily": { - "$ref": "#/definitions/StorageProfileOperatingSystemFamily", - "enum": [ - "LINUX", - "MACOS", - "WINDOWS" - ] + "$ref": "#/definitions/StorageProfileOperatingSystemFamily" }, "StorageProfileId": { "pattern": "^sp-[0-9a-f]{32}$", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-dynamodb-table.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-dynamodb-table.json index 83499a2cbb..9e1125534b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-dynamodb-table.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-dynamodb-table.json @@ -469,10 +469,6 @@ ] }, "BillingMode": { - "enum": [ - "PAY_PER_REQUEST", - "PROVISIONED" - ], "type": "string" }, "ContributorInsightsSpecification": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-networkinsightspath.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-networkinsightspath.json index d1288306d4..69b03acae4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-networkinsightspath.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-networkinsightspath.json @@ -97,8 +97,7 @@ "type": "string" }, "DestinationIp": { - "$ref": "#/definitions/IpAddress", - "pattern": "^([0-9]{1,3}.){3}[0-9]{1,3}$" + "$ref": "#/definitions/IpAddress" }, "DestinationPort": { "$ref": "#/definitions/Port" @@ -116,11 +115,7 @@ "type": "string" }, "Protocol": { - "$ref": "#/definitions/Protocol", - "enum": [ - "tcp", - "udp" - ] + "$ref": "#/definitions/Protocol" }, "Source": { "type": "string" @@ -129,8 +124,7 @@ "type": "string" }, "SourceIp": { - "$ref": "#/definitions/IpAddress", - "pattern": "^([0-9]{1,3}.){3}[0-9]{1,3}$" + "$ref": "#/definitions/IpAddress" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json index ba7baa1de3..37e099399e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json @@ -566,6 +566,9 @@ "type": "array" } }, + "propertyTransform": { + "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" + }, "readOnlyProperties": [ "/properties/ServiceArn", "/properties/Name" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskset.json index 3491488499..663d1205f9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskset.json @@ -9,7 +9,8 @@ "/properties/PlatformVersion", "/properties/Service", "/properties/ServiceRegistries", - "/properties/TaskDefinition" + "/properties/TaskDefinition", + "/properties/CapacityProviderStrategy" ], "definitions": { "AwsVpcConfiguration": { @@ -44,6 +45,21 @@ ], "type": "object" }, + "CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "integer" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "integer" + } + }, + "type": "object" + }, "LoadBalancer": { "additionalProperties": false, "properties": { @@ -122,6 +138,12 @@ "/properties/Id" ], "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/CapacityProviderStrategyItem" + }, + "type": "array" + }, "Cluster": { "type": "string" }, 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 d0e4441601..5bad54fc39 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 @@ -459,11 +459,7 @@ "type": "string" }, "Architecture": { - "$ref": "#/definitions/Architecture", - "enum": [ - "ARM64", - "X86_64" - ] + "$ref": "#/definitions/Architecture" }, "Arn": { "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json index 1d9ff02cd4..94ba9eaa72 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json @@ -273,8 +273,7 @@ "$ref": "#/definitions/IdMappingWorkflowArn" }, "WorkflowName": { - "$ref": "#/definitions/EntityName", - "pattern": "^[a-zA-Z_0-9-]*$" + "$ref": "#/definitions/EntityName" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idnamespace.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idnamespace.json index 01e7569ea6..ca77b02644 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idnamespace.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idnamespace.json @@ -203,8 +203,7 @@ "type": "string" }, "IdNamespaceName": { - "$ref": "#/definitions/EntityName", - "pattern": "^[a-zA-Z_0-9-]*$" + "$ref": "#/definitions/EntityName" }, "InputSourceConfig": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json index 21cdaecc48..bd0f9ba6e6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json @@ -312,8 +312,7 @@ "$ref": "#/definitions/MatchingWorkflowArn" }, "WorkflowName": { - "$ref": "#/definitions/EntityName", - "pattern": "^[a-zA-Z_0-9-]*$" + "$ref": "#/definitions/EntityName" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-policystatement.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-policystatement.json index 3e112d89a2..ca694d7aa2 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-policystatement.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-policystatement.json @@ -61,25 +61,19 @@ "$ref": "#/definitions/StatementActionList" }, "Arn": { - "$ref": "#/definitions/VeniceGlobalArn", - "pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:((schemamapping|matchingworkflow|idmappingworkflow|idnamespace)/[a-zA-Z_0-9-]{1,255})$" + "$ref": "#/definitions/VeniceGlobalArn" }, "Condition": { "$ref": "#/definitions/StatementCondition" }, "Effect": { - "$ref": "#/definitions/StatementEffect", - "enum": [ - "Allow", - "Deny" - ] + "$ref": "#/definitions/StatementEffect" }, "Principal": { "$ref": "#/definitions/StatementPrincipalList" }, "StatementId": { - "$ref": "#/definitions/StatementId", - "pattern": "^[0-9A-Za-z]+$" + "$ref": "#/definitions/StatementId" } }, "required": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-schemamapping.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-schemamapping.json index 146c561344..623065d35a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-schemamapping.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-schemamapping.json @@ -140,8 +140,7 @@ "$ref": "#/definitions/SchemaMappingArn" }, "SchemaName": { - "$ref": "#/definitions/EntityName", - "pattern": "^[a-zA-Z_0-9-]*$" + "$ref": "#/definitions/EntityName" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json index 5b8405fdcb..7c562429fb 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json @@ -300,8 +300,7 @@ "$ref": "#/definitions/ExperimentTemplateActionMap" }, "Description": { - "$ref": "#/definitions/ExperimentTemplateDescription", - "pattern": "[\\s\\S]+" + "$ref": "#/definitions/ExperimentTemplateDescription" }, "ExperimentOptions": { "$ref": "#/definitions/ExperimentTemplateExperimentOptions" @@ -313,8 +312,7 @@ "$ref": "#/definitions/ExperimentTemplateLogConfiguration" }, "RoleArn": { - "$ref": "#/definitions/RoleArn", - "pattern": "[\\S]+" + "$ref": "#/definitions/RoleArn" }, "StopConditions": { "$ref": "#/definitions/ExperimentTemplateStopConditionList" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-targetaccountconfiguration.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-targetaccountconfiguration.json index d5456a29fc..bf710126da 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-targetaccountconfiguration.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-targetaccountconfiguration.json @@ -31,20 +31,16 @@ ], "properties": { "AccountId": { - "$ref": "#/definitions/TargetAccountId", - "pattern": "[\\S]+" + "$ref": "#/definitions/TargetAccountId" }, "Description": { - "$ref": "#/definitions/TargetAccountConfigurationDescription", - "pattern": "[\\s\\S]*" + "$ref": "#/definitions/TargetAccountConfigurationDescription" }, "ExperimentTemplateId": { - "$ref": "#/definitions/TargetExperimentTemplateId", - "pattern": "[\\S]+" + "$ref": "#/definitions/TargetExperimentTemplateId" }, "RoleArn": { - "$ref": "#/definitions/TargetAccountRoleArn", - "pattern": "[\\S]+" + "$ref": "#/definitions/TargetAccountRoleArn" } }, "required": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-fms-notificationchannel.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-fms-notificationchannel.json index 3388707aa7..1cff033eb9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-fms-notificationchannel.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-fms-notificationchannel.json @@ -13,12 +13,10 @@ ], "properties": { "SnsRoleName": { - "$ref": "#/definitions/ResourceArn", - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "$ref": "#/definitions/ResourceArn" }, "SnsTopicArn": { - "$ref": "#/definitions/ResourceArn", - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "$ref": "#/definitions/ResourceArn" } }, "required": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json index cae698ab1e..825b6eaa5a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json @@ -264,12 +264,7 @@ "$ref": "#/definitions/AutoScalingPolicy" }, "BalancingStrategy": { - "$ref": "#/definitions/BalancingStrategy", - "enum": [ - "ON_DEMAND_ONLY", - "SPOT_ONLY", - "SPOT_PREFERRED" - ] + "$ref": "#/definitions/BalancingStrategy" }, "DeleteOption": { "$ref": "#/definitions/DeleteOption" @@ -278,15 +273,10 @@ "$ref": "#/definitions/GameServerGroupArn" }, "GameServerGroupName": { - "$ref": "#/definitions/GameServerGroupName", - "pattern": "[a-zA-Z0-9-\\.]+" + "$ref": "#/definitions/GameServerGroupName" }, "GameServerProtectionPolicy": { - "$ref": "#/definitions/GameServerProtectionPolicy", - "enum": [ - "FULL_PROTECTION", - "NO_PROTECTION" - ] + "$ref": "#/definitions/GameServerProtectionPolicy" }, "InstanceDefinitions": { "$ref": "#/definitions/InstanceDefinitions" @@ -301,8 +291,7 @@ "$ref": "#/definitions/MinSize" }, "RoleArn": { - "$ref": "#/definitions/RoleArn", - "pattern": "^arn:.*:role\\/[\\w+=,.@-]+" + "$ref": "#/definitions/RoleArn" }, "Tags": { "$ref": "#/definitions/Tags" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-grafana-workspace.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-grafana-workspace.json index beccfef8e9..e15f713a8a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-grafana-workspace.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-grafana-workspace.json @@ -243,11 +243,7 @@ ], "properties": { "AccountAccessType": { - "$ref": "#/definitions/AccountAccessType", - "enum": [ - "CURRENT_ACCOUNT", - "ORGANIZATION" - ] + "$ref": "#/definitions/AccountAccessType" }, "AuthenticationProviders": { "insertionOrder": false, @@ -323,11 +319,7 @@ "type": "array" }, "PermissionType": { - "$ref": "#/definitions/PermissionType", - "enum": [ - "CUSTOMER_MANAGED", - "SERVICE_MANAGED" - ] + "$ref": "#/definitions/PermissionType" }, "PluginAdminEnabled": { "type": "boolean" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-detector.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-detector.json index efaad17ff9..0632b1017c 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-detector.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-detector.json @@ -36,6 +36,7 @@ "additionalProperties": false, "properties": { "AdditionalConfiguration": { + "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" }, @@ -145,6 +146,7 @@ "type": "boolean" }, "Features": { + "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureConfiguration" }, @@ -162,6 +164,7 @@ "type": "string" }, "Tags": { + "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -177,7 +180,8 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagUpdatable": false, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, "taggable": true }, "typeName": "AWS::GuardDuty::Detector" 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 d78146b57f..2de8c37a6f 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 @@ -174,17 +174,13 @@ "$ref": "#/definitions/DatastoreId" }, "DatastoreName": { - "$ref": "#/definitions/DatastoreName", - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "$ref": "#/definitions/DatastoreName" }, "DatastoreStatus": { "$ref": "#/definitions/DatastoreStatus" }, "DatastoreTypeVersion": { - "$ref": "#/definitions/DatastoreTypeVersion", - "enum": [ - "R4" - ] + "$ref": "#/definitions/DatastoreTypeVersion" }, "IdentityProviderConfiguration": { "$ref": "#/definitions/IdentityProviderConfiguration" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-campaign.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-campaign.json index 7523429632..1a92a08bd0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-campaign.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-campaign.json @@ -443,11 +443,7 @@ "$ref": "#/definitions/CollectionScheme" }, "Compression": { - "$ref": "#/definitions/Compression", - "enum": [ - "OFF", - "SNAPPY" - ] + "$ref": "#/definitions/Compression" }, "CreationTime": { "format": "date-time", @@ -481,11 +477,7 @@ "type": "string" }, "DiagnosticsMode": { - "$ref": "#/definitions/DiagnosticsMode", - "enum": [ - "OFF", - "SEND_ACTIVE_DTCS" - ] + "$ref": "#/definitions/DiagnosticsMode" }, "ExpiryTime": { "default": "253402214400", @@ -535,11 +527,7 @@ "type": "array" }, "SpoolingMode": { - "$ref": "#/definitions/SpoolingMode", - "enum": [ - "OFF", - "TO_DISK" - ] + "$ref": "#/definitions/SpoolingMode" }, "StartTime": { "default": "0", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-vehicle.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-vehicle.json index 36bf333051..376d20a055 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-vehicle.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotfleetwise-vehicle.json @@ -50,11 +50,7 @@ "type": "string" }, "AssociationBehavior": { - "$ref": "#/definitions/VehicleAssociationBehavior", - "enum": [ - "CreateIotThing", - "ValidateIotThingExists" - ] + "$ref": "#/definitions/VehicleAssociationBehavior" }, "Attributes": { "$ref": "#/definitions/attributesMap" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json index c20fac3087..1710bd48a0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json @@ -1691,27 +1691,22 @@ "$ref": "#/definitions/DataSourceConfiguration" }, "Description": { - "$ref": "#/definitions/Description", - "pattern": "^\\P{C}*$" + "$ref": "#/definitions/Description" }, "Id": { "$ref": "#/definitions/Id" }, "IndexId": { - "$ref": "#/definitions/IndexId", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]*" + "$ref": "#/definitions/IndexId" }, "LanguageCode": { - "$ref": "#/definitions/LanguageCode", - "pattern": "[a-zA-Z-]*" + "$ref": "#/definitions/LanguageCode" }, "Name": { - "$ref": "#/definitions/Name", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*" + "$ref": "#/definitions/Name" }, "RoleArn": { - "$ref": "#/definitions/RoleArn", - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + "$ref": "#/definitions/RoleArn" }, "Schedule": { "$ref": "#/definitions/Schedule" @@ -1720,28 +1715,7 @@ "$ref": "#/definitions/TagList" }, "Type": { - "$ref": "#/definitions/Type", - "enum": [ - "ALFRESCO", - "BOX", - "CONFLUENCE", - "CUSTOM", - "DATABASE", - "FSX", - "GITHUB", - "GOOGLEDRIVE", - "JIRA", - "ONEDRIVE", - "QUIP", - "S3", - "SALESFORCE", - "SERVICENOW", - "SHAREPOINT", - "SLACK", - "TEMPLATE", - "WEBCRAWLER", - "WORKDOCS" - ] + "$ref": "#/definitions/Type" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-faq.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-faq.json index 01b70e6837..4b05f1dbb4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-faq.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-faq.json @@ -117,35 +117,25 @@ "type": "string" }, "Description": { - "$ref": "#/definitions/Description", - "pattern": "^\\P{C}*$" + "$ref": "#/definitions/Description" }, "FileFormat": { - "$ref": "#/definitions/FileFormat", - "enum": [ - "CSV", - "CSV_WITH_HEADER", - "JSON" - ] + "$ref": "#/definitions/FileFormat" }, "Id": { "$ref": "#/definitions/Id" }, "IndexId": { - "$ref": "#/definitions/IndexId", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]*" + "$ref": "#/definitions/IndexId" }, "LanguageCode": { - "$ref": "#/definitions/LanguageCode", - "pattern": "[a-zA-Z-]*" + "$ref": "#/definitions/LanguageCode" }, "Name": { - "$ref": "#/definitions/FaqName", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*" + "$ref": "#/definitions/FaqName" }, "RoleArn": { - "$ref": "#/definitions/RoleArn", - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + "$ref": "#/definitions/RoleArn" }, "S3Path": { "$ref": "#/definitions/S3Path" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-index.json index 3f7ed0261a..b7966dadd0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-index.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-index.json @@ -346,29 +346,22 @@ "$ref": "#/definitions/CapacityUnitsConfiguration" }, "Description": { - "$ref": "#/definitions/Description", - "pattern": "^\\P{C}*$" + "$ref": "#/definitions/Description" }, "DocumentMetadataConfigurations": { "$ref": "#/definitions/DocumentMetadataConfigurationList" }, "Edition": { - "$ref": "#/definitions/Edition", - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ] + "$ref": "#/definitions/Edition" }, "Id": { "$ref": "#/definitions/Id" }, "Name": { - "$ref": "#/definitions/Name", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*" + "$ref": "#/definitions/Name" }, "RoleArn": { - "$ref": "#/definitions/RoleArn", - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + "$ref": "#/definitions/RoleArn" }, "ServerSideEncryptionConfiguration": { "$ref": "#/definitions/ServerSideEncryptionConfiguration" @@ -377,11 +370,7 @@ "$ref": "#/definitions/TagList" }, "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy", - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ] + "$ref": "#/definitions/UserContextPolicy" }, "UserTokenConfigurations": { "$ref": "#/definitions/UserTokenConfigurationList" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendraranking-executionplan.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendraranking-executionplan.json index 901edfc7f2..ca911deafd 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendraranking-executionplan.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendraranking-executionplan.json @@ -77,15 +77,13 @@ "$ref": "#/definitions/CapacityUnitsConfiguration" }, "Description": { - "$ref": "#/definitions/Description", - "pattern": "^\\P{C}*$" + "$ref": "#/definitions/Description" }, "Id": { "$ref": "#/definitions/Id" }, "Name": { - "$ref": "#/definitions/Name", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*" + "$ref": "#/definitions/Name" }, "Tags": { "$ref": "#/definitions/Tags" diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesis-resourcepolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesis-resourcepolicy.json similarity index 100% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesis-resourcepolicy.json rename to src/cfnlint/data/schemas/providers/us_east_1/aws-kinesis-resourcepolicy.json diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesis-stream.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesis-stream.json index be1bc65c07..45b4ce6a6b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesis-stream.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesis-stream.json @@ -1,4 +1,5 @@ { + "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "createOnlyProperties": [ "/properties/Name" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisanalyticsv2-application.json index fcd075f56b..cda20eb996 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisanalyticsv2-application.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisanalyticsv2-application.json @@ -803,8 +803,7 @@ "type": "string" }, "ServiceExecutionRole": { - "$ref": "#/definitions/Arn", - "pattern": "arn:.*" + "$ref": "#/definitions/Arn" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tag.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tag.json index c290286759..2d5dfa85d2 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tag.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tag.json @@ -40,8 +40,7 @@ "$ref": "#/definitions/CatalogIdString" }, "TagKey": { - "$ref": "#/definitions/LFTagKey", - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*)$" + "$ref": "#/definitions/LFTagKey" }, "TagValues": { "$ref": "#/definitions/TagValueList" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventsourcemapping.json index a22e9d02c3..bc4874d3aa 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventsourcemapping.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventsourcemapping.json @@ -310,11 +310,6 @@ "uniqueItems": true }, "StartingPosition": { - "enum": [ - "AT_TIMESTAMP", - "LATEST", - "TRIM_HORIZON" - ], "maxLength": 12, "minLength": 6, "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-function.json index 26418a60ea..a614f2ca8a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-function.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-function.json @@ -378,11 +378,7 @@ "type": "string" }, "RecursiveLoop": { - "$ref": "#/definitions/RecursiveLoop", - "enum": [ - "Allow", - "Terminate" - ] + "$ref": "#/definitions/RecursiveLoop" }, "ReservedConcurrentExecutions": { "minimum": 0, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-licensemanager-grant.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-licensemanager-grant.json index 64998e64cf..b8ae6f356e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-licensemanager-grant.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-licensemanager-grant.json @@ -28,8 +28,7 @@ "type": "string" }, "LicenseArn": { - "$ref": "#/definitions/Arn", - "pattern": "^arn:aws(-(cn|us-gov|iso-b|iso-c|iso-d))?:[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,1023}$" + "$ref": "#/definitions/Arn" }, "Principals": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-geofencecollection.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-geofencecollection.json index bdf69d3792..ac997a882a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-geofencecollection.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-geofencecollection.json @@ -89,12 +89,7 @@ "type": "string" }, "PricingPlan": { - "$ref": "#/definitions/PricingPlan", - "enum": [ - "MobileAssetManagement", - "MobileAssetTracking", - "RequestBasedUsage" - ] + "$ref": "#/definitions/PricingPlan" }, "PricingPlanDataSource": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-map.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-map.json index f749983376..93306160cf 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-map.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-map.json @@ -114,12 +114,7 @@ "type": "string" }, "PricingPlan": { - "$ref": "#/definitions/PricingPlan", - "enum": [ - "MobileAssetManagement", - "MobileAssetTracking", - "RequestBasedUsage" - ] + "$ref": "#/definitions/PricingPlan" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-placeindex.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-placeindex.json index 099a943b5c..aeb95199f7 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-placeindex.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-placeindex.json @@ -102,12 +102,7 @@ "type": "string" }, "PricingPlan": { - "$ref": "#/definitions/PricingPlan", - "enum": [ - "MobileAssetManagement", - "MobileAssetTracking", - "RequestBasedUsage" - ] + "$ref": "#/definitions/PricingPlan" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-routecalculator.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-routecalculator.json index eaeca30c72..d0141f27ac 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-routecalculator.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-routecalculator.json @@ -83,12 +83,7 @@ "type": "string" }, "PricingPlan": { - "$ref": "#/definitions/PricingPlan", - "enum": [ - "MobileAssetManagement", - "MobileAssetTracking", - "RequestBasedUsage" - ] + "$ref": "#/definitions/PricingPlan" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-tracker.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-tracker.json index 7c2e7efb0b..9ae627f4bf 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-location-tracker.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-location-tracker.json @@ -92,20 +92,10 @@ "type": "string" }, "PositionFiltering": { - "$ref": "#/definitions/PositionFiltering", - "enum": [ - "AccuracyBased", - "DistanceBased", - "TimeBased" - ] + "$ref": "#/definitions/PositionFiltering" }, "PricingPlan": { - "$ref": "#/definitions/PricingPlan", - "enum": [ - "MobileAssetManagement", - "MobileAssetTracking", - "RequestBasedUsage" - ] + "$ref": "#/definitions/PricingPlan" }, "PricingPlanDataSource": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lookoutvision-project.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lookoutvision-project.json index f717462f46..e616394844 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lookoutvision-project.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lookoutvision-project.json @@ -23,8 +23,7 @@ "$ref": "#/definitions/Arn" }, "ProjectName": { - "$ref": "#/definitions/ProjectName", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_\\-]*" + "$ref": "#/definitions/ProjectName" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-application.json index 8fd4755e70..6a62b38cd3 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-application.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-application.json @@ -82,11 +82,7 @@ "type": "string" }, "EngineType": { - "$ref": "#/definitions/EngineType", - "enum": [ - "bluage", - "microfocus" - ] + "$ref": "#/definitions/EngineType" }, "KmsKeyId": { "maxLength": 2048, 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 c48958b4c2..1c433a260d 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 @@ -119,11 +119,7 @@ "type": "string" }, "EngineType": { - "$ref": "#/definitions/EngineType", - "enum": [ - "bluage", - "microfocus" - ] + "$ref": "#/definitions/EngineType" }, "EngineVersion": { "pattern": "^\\S{1,10}$", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-managedblockchain-accessor.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-managedblockchain-accessor.json index 856429b861..e1d6e17eb3 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-managedblockchain-accessor.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-managedblockchain-accessor.json @@ -60,10 +60,7 @@ ], "properties": { "AccessorType": { - "$ref": "#/definitions/AccessorType", - "enum": [ - "BILLING_TOKEN" - ] + "$ref": "#/definitions/AccessorType" }, "Arn": { "maxLength": 1011, @@ -85,14 +82,7 @@ "type": "string" }, "NetworkType": { - "$ref": "#/definitions/NetworkAccessorType", - "enum": [ - "ETHEREUM_GOERLI", - "ETHEREUM_MAINNET", - "ETHEREUM_MAINNET_AND_GOERLI", - "POLYGON_MAINNET", - "POLYGON_MUMBAI" - ] + "$ref": "#/definitions/NetworkAccessorType" }, "Status": { "$ref": "#/definitions/AccessorStatus" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cloudwatchalarmtemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cloudwatchalarmtemplate.json index 30784ba84e..2c984b810f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cloudwatchalarmtemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cloudwatchalarmtemplate.json @@ -64,13 +64,7 @@ "type": "string" }, "ComparisonOperator": { - "$ref": "#/definitions/CloudWatchAlarmTemplateComparisonOperator", - "enum": [ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanOrEqualToThreshold", - "LessThanThreshold" - ] + "$ref": "#/definitions/CloudWatchAlarmTemplateComparisonOperator" }, "CreatedAt": { "format": "date-time", @@ -132,43 +126,20 @@ "type": "number" }, "Statistic": { - "$ref": "#/definitions/CloudWatchAlarmTemplateStatistic", - "enum": [ - "Average", - "Maximum", - "Minimum", - "SampleCount", - "Sum" - ] + "$ref": "#/definitions/CloudWatchAlarmTemplateStatistic" }, "Tags": { "$ref": "#/definitions/TagMap" }, "TargetResourceType": { - "$ref": "#/definitions/CloudWatchAlarmTemplateTargetResourceType", - "enum": [ - "CLOUDFRONT_DISTRIBUTION", - "MEDIACONNECT_FLOW", - "MEDIALIVE_CHANNEL", - "MEDIALIVE_INPUT_DEVICE", - "MEDIALIVE_MULTIPLEX", - "MEDIAPACKAGE_CHANNEL", - "MEDIAPACKAGE_ORIGIN_ENDPOINT", - "S3_BUCKET" - ] + "$ref": "#/definitions/CloudWatchAlarmTemplateTargetResourceType" }, "Threshold": { "default": 0, "type": "number" }, "TreatMissingData": { - "$ref": "#/definitions/CloudWatchAlarmTemplateTreatMissingData", - "enum": [ - "breaching", - "ignore", - "missing", - "notBreaching" - ] + "$ref": "#/definitions/CloudWatchAlarmTemplateTreatMissingData" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cluster.json index ae14c0af66..e10fa646e7 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cluster.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-cluster.json @@ -93,10 +93,7 @@ "type": "array" }, "ClusterType": { - "$ref": "#/definitions/ClusterType", - "enum": [ - "ON_PREMISES" - ] + "$ref": "#/definitions/ClusterType" }, "Id": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-eventbridgeruletemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-eventbridgeruletemplate.json index ac68a9e99d..fc0d19fe3d 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-eventbridgeruletemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-eventbridgeruletemplate.json @@ -71,22 +71,7 @@ "type": "array" }, "EventType": { - "$ref": "#/definitions/EventBridgeRuleTemplateEventType", - "enum": [ - "MEDIACONNECT_ALERT", - "MEDIACONNECT_FLOW_STATUS_CHANGE", - "MEDIACONNECT_OUTPUT_HEALTH", - "MEDIACONNECT_SOURCE_HEALTH", - "MEDIALIVE_CHANNEL_ALERT", - "MEDIALIVE_CHANNEL_INPUT_CHANGE", - "MEDIALIVE_CHANNEL_STATE_CHANGE", - "MEDIALIVE_MULTIPLEX_ALERT", - "MEDIALIVE_MULTIPLEX_STATE_CHANGE", - "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION", - "MEDIAPACKAGE_INPUT_NOTIFICATION", - "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION", - "SIGNAL_MAP_ACTIVE_ALARM" - ] + "$ref": "#/definitions/EventBridgeRuleTemplateEventType" }, "GroupId": { "maxLength": 11, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-channel.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-channel.json index 823ea58af4..b791edb2a3 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-channel.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-channel.json @@ -85,11 +85,7 @@ "type": "array" }, "InputType": { - "$ref": "#/definitions/InputType", - "enum": [ - "CMAF", - "HLS" - ] + "$ref": "#/definitions/InputType" }, "ModifiedAt": { "format": "date-time", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-originendpoint.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-originendpoint.json index 9db05a60c1..fc627ff318 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-originendpoint.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-mediapackagev2-originendpoint.json @@ -501,11 +501,7 @@ "type": "string" }, "ContainerType": { - "$ref": "#/definitions/ContainerType", - "enum": [ - "CMAF", - "TS" - ] + "$ref": "#/definitions/ContainerType" }, "CreatedAt": { "format": "date-time", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-mediatailor-channel.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-mediatailor-channel.json index da53ddfc25..ccb568a596 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-mediatailor-channel.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-mediatailor-channel.json @@ -171,11 +171,7 @@ "type": "array" }, "PlaybackMode": { - "$ref": "#/definitions/PlaybackMode", - "enum": [ - "LINEAR", - "LOOP" - ] + "$ref": "#/definitions/PlaybackMode" }, "Tags": { "insertionOrder": false, @@ -186,11 +182,7 @@ "uniqueItems": true }, "Tier": { - "$ref": "#/definitions/Tier", - "enum": [ - "BASIC", - "STANDARD" - ] + "$ref": "#/definitions/Tier" }, "TimeShiftConfiguration": { "$ref": "#/definitions/TimeShiftConfiguration" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-mwaa-environment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-mwaa-environment.json index 6dc5bedb86..c85441d943 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-mwaa-environment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-mwaa-environment.json @@ -333,8 +333,7 @@ ] }, "AirflowVersion": { - "$ref": "#/definitions/AirflowVersion", - "pattern": "[0-9a-z.]+" + "$ref": "#/definitions/AirflowVersion" }, "Arn": { "$ref": "#/definitions/EnvironmentArn" @@ -349,22 +348,16 @@ "$ref": "#/definitions/DatabaseVpcEndpointService" }, "EndpointManagement": { - "$ref": "#/definitions/EndpointManagement", - "enum": [ - "CUSTOMER", - "SERVICE" - ] + "$ref": "#/definitions/EndpointManagement" }, "EnvironmentClass": { "$ref": "#/definitions/EnvironmentClass" }, "ExecutionRoleArn": { - "$ref": "#/definitions/ExecutionRoleArn", - "pattern": "arn:aws(-[a-z]+)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + "$ref": "#/definitions/ExecutionRoleArn" }, "KmsKey": { - "$ref": "#/definitions/KmsKey", - "pattern": "(((arn:aws(-[a-z]+)?:kms:[a-z]{2}-[a-z]+-\\d:\\d+:)?key\\/)?[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|(arn:aws(-[a-z]+)?:kms:[a-z]{2}-[a-z]+-\\d:\\d+:)?alias/.+)" + "$ref": "#/definitions/KmsKey" }, "LoggingConfiguration": { "$ref": "#/definitions/LoggingConfiguration" @@ -382,8 +375,7 @@ "$ref": "#/definitions/MinWorkers" }, "Name": { - "$ref": "#/definitions/EnvironmentName", - "pattern": "[a-zA-Z][0-9a-zA-Z-_]*" + "$ref": "#/definitions/EnvironmentName" }, "NetworkConfiguration": { "$ref": "#/definitions/NetworkConfiguration" @@ -404,8 +396,7 @@ "$ref": "#/definitions/Schedulers" }, "SourceBucketArn": { - "$ref": "#/definitions/S3BucketArn", - "pattern": "arn:aws(-[a-z]+)?:s3:::[a-z0-9.\\-]+" + "$ref": "#/definitions/S3BucketArn" }, "StartupScriptS3ObjectVersion": { "$ref": "#/definitions/S3ObjectVersion" @@ -421,11 +412,7 @@ ] }, "WebserverAccessMode": { - "$ref": "#/definitions/WebserverAccessMode", - "enum": [ - "PRIVATE_ONLY", - "PUBLIC_ONLY" - ] + "$ref": "#/definitions/WebserverAccessMode" }, "WebserverUrl": { "$ref": "#/definitions/WebserverUrl" @@ -434,8 +421,7 @@ "$ref": "#/definitions/WebserverVpcEndpointService" }, "WeeklyMaintenanceWindowStart": { - "$ref": "#/definitions/WeeklyMaintenanceWindowStart", - "pattern": ".*(MON|TUE|WED|THU|FRI|SAT|SUN):([01]\\d|2[0-3]):(00|30).*" + "$ref": "#/definitions/WeeklyMaintenanceWindowStart" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewall.json index 0a91811ed0..3a6b5ab3ac 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewall.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewall.json @@ -85,8 +85,7 @@ "type": "string" }, "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn", - "pattern": "^arn:aws.*" + "$ref": "#/definitions/ResourceArn" }, "FirewallPolicyChangeProtection": { "type": "boolean" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewallpolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewallpolicy.json index 973b595561..6c4c8f2af1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewallpolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkfirewall-firewallpolicy.json @@ -187,6 +187,17 @@ "StatefulEngineOptions": { "additionalProperties": false, "properties": { + "FlowTimeouts": { + "additionalProperties": false, + "properties": { + "TcpIdleTimeoutSeconds": { + "maximum": 600, + "minimum": 60, + "type": "integer" + } + }, + "type": "object" + }, "RuleOrder": { "$ref": "#/definitions/RuleOrder" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-annotationstore.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-annotationstore.json index 46b6b52082..66cf3ce984 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-annotationstore.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-annotationstore.json @@ -214,12 +214,7 @@ "type": "string" }, "StoreFormat": { - "$ref": "#/definitions/StoreFormat", - "enum": [ - "GFF", - "TSV", - "VCF" - ] + "$ref": "#/definitions/StoreFormat" }, "StoreOptions": { "$ref": "#/definitions/StoreOptions" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-workflow.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-workflow.json index eaf4d7f3ba..506ff69763 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-workflow.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-omics-workflow.json @@ -90,10 +90,7 @@ ], "properties": { "Accelerators": { - "$ref": "#/definitions/Accelerators", - "enum": [ - "GPU" - ] + "$ref": "#/definitions/Accelerators" }, "Arn": { "maxLength": 128, @@ -118,12 +115,7 @@ "type": "string" }, "Engine": { - "$ref": "#/definitions/WorkflowEngine", - "enum": [ - "CWL", - "NEXTFLOW", - "WDL" - ] + "$ref": "#/definitions/WorkflowEngine" }, "Id": { "maxLength": 18, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-accesspolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-accesspolicy.json index 6ef092edd4..4492cd3002 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-accesspolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-accesspolicy.json @@ -35,10 +35,7 @@ "type": "string" }, "Type": { - "$ref": "#/definitions/AccessPolicyType", - "enum": [ - "data" - ] + "$ref": "#/definitions/AccessPolicyType" } }, "required": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-collection.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-collection.json index 005e81f50e..cb4fce210b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-collection.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-collection.json @@ -79,11 +79,7 @@ "type": "string" }, "StandbyReplicas": { - "$ref": "#/definitions/StandbyReplicas", - "enum": [ - "DISABLED", - "ENABLED" - ] + "$ref": "#/definitions/StandbyReplicas" }, "Tags": { "insertionOrder": false, @@ -95,12 +91,7 @@ "type": "array" }, "Type": { - "$ref": "#/definitions/CollectionType", - "enum": [ - "SEARCH", - "TIMESERIES", - "VECTORSEARCH" - ] + "$ref": "#/definitions/CollectionType" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-lifecyclepolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-lifecyclepolicy.json index d042a46c47..584ab2abfb 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-lifecyclepolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-lifecyclepolicy.json @@ -35,10 +35,7 @@ "type": "string" }, "Type": { - "$ref": "#/definitions/LifecyclePolicyType", - "enum": [ - "retention" - ] + "$ref": "#/definitions/LifecyclePolicyType" } }, "required": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securityconfig.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securityconfig.json index 9a70bd4274..4e0b9a6bcd 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securityconfig.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securityconfig.json @@ -71,10 +71,7 @@ "$ref": "#/definitions/SamlConfigOptions" }, "Type": { - "$ref": "#/definitions/SecurityConfigType", - "enum": [ - "saml" - ] + "$ref": "#/definitions/SecurityConfigType" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securitypolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securitypolicy.json index 4c6e38d2d5..5f8f6dd2f5 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securitypolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchserverless-securitypolicy.json @@ -36,11 +36,7 @@ "type": "string" }, "Type": { - "$ref": "#/definitions/SecurityPolicyType", - "enum": [ - "encryption", - "network" - ] + "$ref": "#/definitions/SecurityPolicyType" } }, "required": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-applicationinstance.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-applicationinstance.json index 83bb95d281..093451f44d 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-applicationinstance.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-applicationinstance.json @@ -168,8 +168,7 @@ "$ref": "#/definitions/ApplicationInstanceId" }, "ApplicationInstanceIdToReplace": { - "$ref": "#/definitions/ApplicationInstanceId", - "pattern": "^[a-zA-Z0-9\\-\\_]+$" + "$ref": "#/definitions/ApplicationInstanceId" }, "Arn": { "$ref": "#/definitions/ApplicationInstanceArn" @@ -178,15 +177,13 @@ "$ref": "#/definitions/Timestamp" }, "DefaultRuntimeContextDevice": { - "$ref": "#/definitions/DefaultRuntimeContextDevice", - "pattern": "^[a-zA-Z0-9\\-\\_]+$" + "$ref": "#/definitions/DefaultRuntimeContextDevice" }, "DefaultRuntimeContextDeviceName": { "$ref": "#/definitions/DeviceName" }, "Description": { - "$ref": "#/definitions/Description", - "pattern": "^.*$" + "$ref": "#/definitions/Description" }, "HealthStatus": { "$ref": "#/definitions/ApplicationInstanceHealthStatus" @@ -201,12 +198,10 @@ "$ref": "#/definitions/ManifestPayload" }, "Name": { - "$ref": "#/definitions/Name", - "pattern": "^[a-zA-Z0-9\\-\\_]+$" + "$ref": "#/definitions/Name" }, "RuntimeRoleArn": { - "$ref": "#/definitions/RuntimeRoleArn", - "pattern": "^arn:[a-z0-9][-.a-z0-9]{0,62}:iam::[0-9]{12}:role/.+$" + "$ref": "#/definitions/RuntimeRoleArn" }, "Status": { "$ref": "#/definitions/ApplicationInstanceStatus" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-package.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-package.json index 35b64bd983..77027193b3 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-package.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-package.json @@ -90,8 +90,7 @@ "$ref": "#/definitions/NodePackageId" }, "PackageName": { - "$ref": "#/definitions/NodePackageName", - "pattern": "^[a-zA-Z0-9\\-\\_]+$" + "$ref": "#/definitions/NodePackageName" }, "StorageLocation": { "$ref": "#/definitions/StorageLocation" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-packageversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-packageversion.json index 2fff7dfaa3..e6c30311f9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-packageversion.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-panorama-packageversion.json @@ -73,26 +73,22 @@ "type": "boolean" }, "OwnerAccount": { - "$ref": "#/definitions/PackageOwnerAccount", - "pattern": "^[0-9a-z\\_]+$" + "$ref": "#/definitions/PackageOwnerAccount" }, "PackageArn": { "$ref": "#/definitions/NodePackageArn" }, "PackageId": { - "$ref": "#/definitions/NodePackageId", - "pattern": "^[a-zA-Z0-9\\-\\_\\/]+$" + "$ref": "#/definitions/NodePackageId" }, "PackageName": { "$ref": "#/definitions/NodePackageName" }, "PackageVersion": { - "$ref": "#/definitions/NodePackageVersion", - "pattern": "^([0-9]+)\\.([0-9]+)$" + "$ref": "#/definitions/NodePackageVersion" }, "PatchVersion": { - "$ref": "#/definitions/NodePackagePatchVersion", - "pattern": "^[a-z0-9]+$" + "$ref": "#/definitions/NodePackagePatchVersion" }, "RegisteredTime": { "$ref": "#/definitions/TimeStamp" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-paymentcryptography-key.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-paymentcryptography-key.json index 346b344c1e..3d582538e2 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-paymentcryptography-key.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-paymentcryptography-key.json @@ -177,11 +177,7 @@ "$ref": "#/definitions/KeyAttributes" }, "KeyCheckValueAlgorithm": { - "$ref": "#/definitions/KeyCheckValueAlgorithm", - "enum": [ - "ANSI_X9_24", - "CMAC" - ] + "$ref": "#/definitions/KeyCheckValueAlgorithm" }, "KeyIdentifier": { "maxLength": 322, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pipes-pipe.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pipes-pipe.json index 03cd1addb1..ea5044ce0a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-pipes-pipe.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pipes-pipe.json @@ -1743,11 +1743,7 @@ "type": "string" }, "DesiredState": { - "$ref": "#/definitions/RequestedPipeState", - "enum": [ - "RUNNING", - "STOPPED" - ] + "$ref": "#/definitions/RequestedPipeState" }, "Enrichment": { "maxLength": 1600, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-environmenttemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-environmenttemplate.json index bdf12e7f39..e8098e55ab 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-environmenttemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-environmenttemplate.json @@ -68,10 +68,7 @@ "type": "string" }, "Provisioning": { - "$ref": "#/definitions/Provisioning", - "enum": [ - "CUSTOMER_MANAGED" - ] + "$ref": "#/definitions/Provisioning" }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-servicetemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-servicetemplate.json index 4a6e91a129..b813638f5e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-servicetemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-proton-servicetemplate.json @@ -71,10 +71,7 @@ "type": "string" }, "PipelineProvisioning": { - "$ref": "#/definitions/Provisioning", - "enum": [ - "CUSTOMER_MANAGED" - ] + "$ref": "#/definitions/Provisioning" }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-application.json index 4d7362fc3a..2e1ee83240 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-application.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-application.json @@ -213,12 +213,7 @@ "type": "string" }, "IdentityType": { - "$ref": "#/definitions/IdentityType", - "enum": [ - "AWS_IAM_IDC", - "AWS_IAM_IDP_OIDC", - "AWS_IAM_IDP_SAML" - ] + "$ref": "#/definitions/IdentityType" }, "PersonalizationConfiguration": { "$ref": "#/definitions/PersonalizationConfiguration" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-index.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-index.json index 5049bfdad1..fc538a7c09 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-index.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-index.json @@ -177,11 +177,7 @@ "type": "array" }, "Type": { - "$ref": "#/definitions/IndexType", - "enum": [ - "ENTERPRISE", - "STARTER" - ] + "$ref": "#/definitions/IndexType" }, "UpdatedAt": { "format": "date-time", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json index 483d9fed0c..5cce9cb4d1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json @@ -289,14 +289,7 @@ "type": "array" }, "Type": { - "$ref": "#/definitions/PluginType", - "enum": [ - "CUSTOM", - "JIRA", - "SALESFORCE", - "SERVICE_NOW", - "ZENDESK" - ] + "$ref": "#/definitions/PluginType" }, "UpdatedAt": { "format": "date-time", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-retriever.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-retriever.json index f663c42b74..1be036db8e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-retriever.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-retriever.json @@ -156,11 +156,7 @@ "type": "array" }, "Type": { - "$ref": "#/definitions/RetrieverType", - "enum": [ - "KENDRA_INDEX", - "NATIVE_INDEX" - ] + "$ref": "#/definitions/RetrieverType" }, "UpdatedAt": { "format": "date-time", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-webexperience.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-webexperience.json index 3a3d4025a6..f1245a2d65 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-webexperience.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-webexperience.json @@ -140,11 +140,7 @@ "type": "string" }, "SamplePromptsControlMode": { - "$ref": "#/definitions/WebExperienceSamplePromptsControlMode", - "enum": [ - "DISABLED", - "ENABLED" - ] + "$ref": "#/definitions/WebExperienceSamplePromptsControlMode" }, "Status": { "$ref": "#/definitions/WebExperienceStatus" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json index effc227a61..f383e083f5 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json @@ -1286,11 +1286,7 @@ "type": "array" }, "ImportMode": { - "$ref": "#/definitions/DataSetImportMode", - "enum": [ - "DIRECT_QUERY", - "SPICE" - ] + "$ref": "#/definitions/DataSetImportMode" }, "IngestionWaitPolicy": { "$ref": "#/definitions/IngestionWaitPolicy" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-datasource.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-datasource.json index c810930af6..50d11e3821 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-datasource.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-datasource.json @@ -917,38 +917,7 @@ "type": "array" }, "Type": { - "$ref": "#/definitions/DataSourceType", - "enum": [ - "ADOBE_ANALYTICS", - "AMAZON_ELASTICSEARCH", - "AMAZON_OPENSEARCH", - "ATHENA", - "AURORA", - "AURORA_POSTGRESQL", - "AWS_IOT_ANALYTICS", - "BIGQUERY", - "DATABRICKS", - "EXASOL", - "GITHUB", - "JIRA", - "MARIADB", - "MYSQL", - "ORACLE", - "POSTGRESQL", - "PRESTO", - "REDSHIFT", - "S3", - "SALESFORCE", - "SERVICENOW", - "SNOWFLAKE", - "SPARK", - "SQLSERVER", - "STARBURST", - "TERADATA", - "TIMESTREAM", - "TRINO", - "TWITTER" - ] + "$ref": "#/definitions/DataSourceType" }, "VpcConnectionProperties": { "$ref": "#/definitions/VpcConnectionProperties" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-folder.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-folder.json index 13e84ee166..ebd448db17 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-folder.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-folder.json @@ -94,11 +94,7 @@ "type": "string" }, "FolderType": { - "$ref": "#/definitions/FolderType", - "enum": [ - "RESTRICTED", - "SHARED" - ] + "$ref": "#/definitions/FolderType" }, "LastUpdatedTime": { "format": "date-time", @@ -122,11 +118,7 @@ "type": "array" }, "SharingModel": { - "$ref": "#/definitions/SharingModel", - "enum": [ - "ACCOUNT", - "NAMESPACE" - ] + "$ref": "#/definitions/SharingModel" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-collection.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-collection.json index 2fff8d10b4..a8deb77d7a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-collection.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-collection.json @@ -44,8 +44,7 @@ "$ref": "#/definitions/Arn" }, "CollectionId": { - "$ref": "#/definitions/CollectionId", - "pattern": "[a-zA-Z0-9_.\\-]+" + "$ref": "#/definitions/CollectionId" }, "Tags": { "insertionOrder": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-project.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-project.json index 9fa44749fa..c406bbd18f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-project.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rekognition-project.json @@ -24,8 +24,7 @@ "$ref": "#/definitions/Arn" }, "ProjectName": { - "$ref": "#/definitions/ProjectName", - "pattern": "[a-zA-Z0-9_.\\-]+" + "$ref": "#/definitions/ProjectName" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-robotapplicationversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-robotapplicationversion.json index cf17d80dc0..babfd9bdc7 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-robotapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-robotapplicationversion.json @@ -15,8 +15,7 @@ ], "properties": { "Application": { - "$ref": "#/definitions/Arn", - "pattern": "arn:.*" + "$ref": "#/definitions/Arn" }, "ApplicationVersion": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-simulationapplicationversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-simulationapplicationversion.json index 9407e15bab..7498d609dc 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-simulationapplicationversion.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-robomaker-simulationapplicationversion.json @@ -15,8 +15,7 @@ ], "properties": { "Application": { - "$ref": "#/definitions/Arn", - "pattern": "arn:.*" + "$ref": "#/definitions/Arn" }, "ApplicationVersion": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json index feb107b584..83c8914e4a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json @@ -457,8 +457,7 @@ "type": "string" }, "JobDefinitionName": { - "$ref": "#/definitions/JobDefinitionName", - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/JobDefinitionName" }, "JobResources": { "$ref": "#/definitions/MonitoringResources" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-image.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-image.json index 40275b4819..3b3f45e9af 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-image.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-image.json @@ -73,8 +73,7 @@ "$ref": "#/definitions/ImageDisplayName" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageRoleArn": { "$ref": "#/definitions/ImageRoleArn" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-imageversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-imageversion.json index 621ace60a5..3b09dc9bad 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-imageversion.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-imageversion.json @@ -120,46 +120,28 @@ "$ref": "#/definitions/ImageArn" }, "ImageName": { - "$ref": "#/definitions/ImageName", - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/ImageName" }, "ImageVersionArn": { "$ref": "#/definitions/ImageVersionArn" }, "JobType": { - "$ref": "#/definitions/JobType", - "enum": [ - "INFERENCE", - "NOTEBOOK_KERNEL", - "TRAINING" - ] + "$ref": "#/definitions/JobType" }, "MLFramework": { - "$ref": "#/definitions/MLFramework", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/MLFramework" }, "Processor": { - "$ref": "#/definitions/Processor", - "enum": [ - "CPU", - "GPU" - ] + "$ref": "#/definitions/Processor" }, "ProgrammingLang": { - "$ref": "#/definitions/ProgrammingLang", - "pattern": "^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" + "$ref": "#/definitions/ProgrammingLang" }, "ReleaseNotes": { "$ref": "#/definitions/ReleaseNotes" }, "VendorGuidance": { - "$ref": "#/definitions/VendorGuidance", - "enum": [ - "ARCHIVED", - "NOT_PROVIDED", - "STABLE", - "TO_BE_ARCHIVED" - ] + "$ref": "#/definitions/VendorGuidance" }, "Version": { "$ref": "#/definitions/Version" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferencecomponent.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferencecomponent.json index 8b90f34b7e..455e14ba03 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferencecomponent.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferencecomponent.json @@ -229,8 +229,7 @@ "$ref": "#/definitions/EndpointArn" }, "EndpointName": { - "$ref": "#/definitions/EndpointName", - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}" + "$ref": "#/definitions/EndpointName" }, "FailureReason": { "$ref": "#/definitions/FailureReason" @@ -239,8 +238,7 @@ "$ref": "#/definitions/InferenceComponentArn" }, "InferenceComponentName": { - "$ref": "#/definitions/InferenceComponentName", - "pattern": "^[a-zA-Z0-9]([\\-a-zA-Z0-9]*[a-zA-Z0-9])?$" + "$ref": "#/definitions/InferenceComponentName" }, "InferenceComponentStatus": { "$ref": "#/definitions/InferenceComponentStatus" @@ -258,8 +256,7 @@ "$ref": "#/definitions/TagList" }, "VariantName": { - "$ref": "#/definitions/VariantName", - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}" + "$ref": "#/definitions/VariantName" } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferenceexperiment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferenceexperiment.json index 3168bd38de..9c906ec70e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferenceexperiment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-inferenceexperiment.json @@ -263,8 +263,7 @@ "$ref": "#/definitions/EndpointMetadata" }, "EndpointName": { - "$ref": "#/definitions/EndpointName", - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}" + "$ref": "#/definitions/EndpointName" }, "KmsKey": { "maxLength": 2048, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json index 4365283f76..4dc1c10d1a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json @@ -475,8 +475,7 @@ "type": "string" }, "JobDefinitionName": { - "$ref": "#/definitions/JobDefinitionName", - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/JobDefinitionName" }, "JobResources": { "$ref": "#/definitions/MonitoringResources" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json index 11354ef766..abb0a6d55e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json @@ -435,8 +435,7 @@ "type": "string" }, "JobDefinitionName": { - "$ref": "#/definitions/JobDefinitionName", - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" + "$ref": "#/definitions/JobDefinitionName" }, "JobResources": { "$ref": "#/definitions/MonitoringResources" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelpackage.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelpackage.json index cfbed3f62e..0af8c6b081 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelpackage.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelpackage.json @@ -963,8 +963,7 @@ "$ref": "#/definitions/CertifyForMarketplace" }, "ClientToken": { - "$ref": "#/definitions/ClientToken", - "pattern": "^[a-zA-Z0-9-]+$" + "$ref": "#/definitions/ClientToken" }, "CreationTime": { "$ref": "#/definitions/CreationTime" @@ -988,12 +987,7 @@ "$ref": "#/definitions/MetadataProperties" }, "ModelApprovalStatus": { - "$ref": "#/definitions/ModelApprovalStatus", - "enum": [ - "Approved", - "PendingManualApproval", - "Rejected" - ] + "$ref": "#/definitions/ModelApprovalStatus" }, "ModelCard": { "$ref": "#/definitions/ModelCard" @@ -1005,16 +999,13 @@ "$ref": "#/definitions/ModelPackageArn" }, "ModelPackageDescription": { - "$ref": "#/definitions/ModelPackageDescription", - "pattern": "[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" + "$ref": "#/definitions/ModelPackageDescription" }, "ModelPackageGroupName": { - "$ref": "#/definitions/ModelPackageGroupName", - "pattern": "(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?