From 244e792a853889f1f61a6ba3e1b8951a9dc000d2 Mon Sep 17 00:00:00 2001 From: kddejong <36457093+kddejong@users.noreply.github.com> Date: Fri, 17 Jan 2025 20:32:41 +0000 Subject: [PATCH] Update CloudFormation schemas to 2025-01-17 --- .../data/AdditionalSpecs/Policies.json | 16 + ...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 +- ...c83164555533634faab47e36a5074fe6.meta.json | 2 +- ...e783fe32b6bb6b13774c32fcca1d303a.meta.json | 2 +- ...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +- ...92030ae5c03d7451980a15735e557edb.meta.json | 2 +- ...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +- ...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +- ...25c8d66a1f84939600616bab42579541.meta.json | 2 +- ...972142778e1ff452383ede2ad4bac3d7.meta.json | 2 +- ...26b315ef6f38515840537c02de23abe2.meta.json | 2 +- ...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +- ...318c41c71c21b0a17d4f68d82c5aee21.meta.json | 2 +- ...6cd7e4ced378cacdb93f76ed227b5c5d.meta.json | 2 +- ...b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json | 2 +- ...41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json | 2 +- ...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +- ...e50a1638ffe0a5dba0d8805c190a05f8.meta.json | 2 +- ...3b69878d351cffd417dc9a457df808af.meta.json | 2 +- .../data/Serverless/ManagedPolicies.json | 1 + .../aws_ec2_instance/instancetype_enum.json | 140 +++ .../boto.json | 8 + .../extensions/all/aws_ec2_ec2fleet/boto.json | 8 + .../extensions/all/aws_ec2_instance/boto.json | 8 + .../all/aws_ec2_launchtemplate/boto.json | 8 + .../schemas/providers/af_south_1/__init__.py | 9 +- .../af_south_1/aws-datasync-locationefs.json | 131 +++ .../aws-datasync-locationfsxlustre.json | 97 ++ .../aws-datasync-locationfsxontap.json | 189 +++ .../aws-datasync-locationfsxwindows.json | 111 ++ .../af_south_1/aws-datasync-locations3.json | 114 ++ .../aws-networkfirewall-firewall.json | 7 - .../aws-sagemaker-domain.json | 3 +- .../aws-sagemaker-userprofile.json | 3 +- .../providers/af_south_1/aws-sns-topic.json | 151 --- .../schemas/providers/ap_east_1/__init__.py | 3 - .../aws-networkfirewall-firewall.json | 7 - .../aws-sagemaker-domain.json | 3 +- .../aws-sagemaker-userprofile.json | 3 +- .../providers/ap_northeast_1/__init__.py | 6 +- .../ap_northeast_1/aws-m2-application.json | 122 ++ .../ap_northeast_1/aws-m2-environment.json | 215 ++++ ...53profiles-profileresourceassociation.json | 48 + .../aws-sagemaker-domain.json | 3 +- .../aws-sagemaker-userprofile.json | 3 +- .../providers/ap_northeast_2/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 7 - .../ap_northeast_2/aws-sns-topic.json | 151 --- .../providers/ap_northeast_3/__init__.py | 3 +- .../aws-emrserverless-application.json | 555 --------- .../aws-sagemaker-domain.json | 3 +- .../aws-sagemaker-userprofile.json | 3 +- .../schemas/providers/ap_south_1/__init__.py | 4 +- .../aws-emrserverless-application.json | 555 --------- .../ap_south_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../ap_south_1/aws-sagemaker-userprofile.json | 662 +++++++++++ .../schemas/providers/ap_south_2/__init__.py | 2 +- .../aws-networkfirewall-firewall.json | 7 - .../providers/ap_south_2/aws-sns-topic.json | 151 --- .../providers/ap_southeast_1/__init__.py | 4 +- .../aws-bedrock-promptversion.json | 244 ---- .../aws-emrserverless-application.json | 555 --------- .../ap_southeast_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../aws-sagemaker-userprofile.json | 662 +++++++++++ .../providers/ap_southeast_2/__init__.py | 4 + .../aws-emrserverless-application.json | 555 --------- .../providers/ap_southeast_3/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 147 +++ .../ap_southeast_3/aws-sagemaker-domain.json | 899 +++++++++++++++ .../aws-sagemaker-userprofile.json | 662 +++++++++++ .../ap_southeast_3/aws-sns-topic.json | 151 --- .../providers/ap_southeast_4/__init__.py | 2 +- .../aws-networkfirewall-firewall.json | 147 +++ .../ap_southeast_4/aws-sns-topic.json | 151 --- .../providers/ap_southeast_5/__init__.py | 2 +- .../aws-appconfig-deployment.json | 101 -- .../ap_southeast_5/aws-ec2-instance.json | 8 + .../aws-networkfirewall-firewall.json | 147 +++ .../ap_southeast_7/aws-ec2-instance.json | 8 + .../providers/ca_central_1/__init__.py | 3 + .../aws-emrserverless-application.json | 555 --------- .../schemas/providers/ca_west_1/__init__.py | 2 +- .../aws-networkfirewall-firewall.json | 147 +++ .../providers/ca_west_1/aws-sns-topic.json | 151 --- .../schemas/providers/cn_north_1/__init__.py | 4 + .../cn_north_1/aws-appconfig-deployment.json | 101 -- .../providers/cn_northwest_1/__init__.py | 6 +- .../aws-appconfig-deployment.json | 101 -- .../cn_northwest_1/aws-eks-cluster.json | 460 -------- .../aws-networkfirewall-firewall.json | 147 +++ .../cn_northwest_1/aws-sagemaker-domain.json | 900 --------------- .../aws-sagemaker-userprofile.json | 663 ----------- .../cn_northwest_1/aws-sns-topic.json | 151 --- .../providers/eu_central_1/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 154 --- .../eu_central_1/aws-quicksight-topic.json | 1019 +++++++++++++++++ .../eu_central_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../aws-sagemaker-userprofile.json | 662 +++++++++++ .../providers/eu_central_2/__init__.py | 2 +- .../aws-networkfirewall-firewall.json | 147 +++ .../providers/eu_central_2/aws-sns-topic.json | 151 --- .../schemas/providers/eu_north_1/__init__.py | 3 - .../aws-networkfirewall-firewall.json | 147 +++ .../eu_north_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../eu_north_1/aws-sagemaker-userprofile.json | 662 +++++++++++ .../schemas/providers/eu_south_1/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 147 +++ .../eu_south_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../eu_south_1/aws-sagemaker-userprofile.json | 662 +++++++++++ .../providers/eu_south_1/aws-sns-topic.json | 151 --- .../schemas/providers/eu_south_2/__init__.py | 3 - .../aws-networkfirewall-firewall.json | 147 +++ .../eu_south_2/aws-sagemaker-domain.json | 899 +++++++++++++++ .../eu_south_2/aws-sagemaker-userprofile.json | 662 +++++++++++ .../schemas/providers/eu_west_1/__init__.py | 12 +- .../eu_west_1/aws-bedrock-promptversion.json | 244 ---- .../eu_west_1/aws-codebuild-fleet.json | 248 ---- .../eu_west_1/aws-datasync-locationefs.json | 131 +++ .../aws-datasync-locationfsxlustre.json | 97 ++ .../aws-datasync-locationfsxontap.json | 189 +++ .../aws-datasync-locationfsxopenzfs.json | 137 +++ .../aws-datasync-locationfsxwindows.json | 111 ++ .../eu_west_1/aws-datasync-locations3.json | 114 ++ .../aws-emrserverless-application.json | 555 --------- .../aws-networkfirewall-firewall.json | 154 --- .../eu_west_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../eu_west_1/aws-sagemaker-userprofile.json | 662 +++++++++++ .../schemas/providers/eu_west_2/__init__.py | 3 +- .../aws-networkfirewall-firewall.json | 147 +++ .../eu_west_2/aws-sagemaker-domain.json | 900 --------------- .../eu_west_2/aws-sagemaker-userprofile.json | 663 ----------- .../schemas/providers/eu_west_3/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 147 +++ .../eu_west_3/aws-sagemaker-domain.json | 899 +++++++++++++++ .../eu_west_3/aws-sagemaker-userprofile.json | 662 +++++++++++ .../providers/eu_west_3/aws-sns-topic.json | 151 --- .../providers/il_central_1/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 147 +++ .../il_central_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../aws-sagemaker-userprofile.json | 662 +++++++++++ .../providers/il_central_1/aws-sns-topic.json | 151 --- .../providers/me_central_1/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 147 +++ .../me_central_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../aws-sagemaker-userprofile.json | 662 +++++++++++ .../providers/me_central_1/aws-sns-topic.json | 151 --- .../schemas/providers/me_south_1/__init__.py | 4 +- .../aws-networkfirewall-firewall.json | 147 +++ .../me_south_1/aws-sagemaker-domain.json | 900 --------------- .../me_south_1/aws-sagemaker-userprofile.json | 663 ----------- .../providers/me_south_1/aws-sns-topic.json | 151 --- .../schemas/providers/sa_east_1/__init__.py | 4 +- .../aws-emrserverless-application.json | 555 --------- .../aws-networkfirewall-firewall.json | 154 --- .../sa_east_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../sa_east_1/aws-sagemaker-userprofile.json | 662 +++++++++++ .../schemas/providers/us_east_1/__init__.py | 2 + .../aws-ec2-capacityreservationfleet.json | 8 + .../providers/us_east_1/aws-ec2-ec2fleet.json | 8 + .../providers/us_east_1/aws-ec2-instance.json | 8 + .../us_east_1/aws-ec2-launchtemplate.json | 8 + .../aws-networkfirewall-firewall.json | 7 + ...notificationaccountcontactassociation.json | 43 + ...ificationadditionalchannelassociation.json | 29 + .../us_east_1/aws-sagemaker-domain.json | 3 +- .../us_east_1/aws-sagemaker-userprofile.json | 3 +- .../schemas/providers/us_east_2/__init__.py | 3 + .../aws-emrserverless-application.json | 555 --------- .../us_east_2/aws-sagemaker-domain.json | 900 --------------- .../us_east_2/aws-sagemaker-userprofile.json | 663 ----------- .../providers/us_gov_east_1/__init__.py | 5 +- .../aws-appconfig-deployment.json | 101 -- .../us_gov_east_1/aws-bedrock-datasource.json | 822 ------------- .../aws-bedrock-knowledgebase.json | 594 ---------- .../aws-networkfirewall-firewall.json | 147 +++ .../us_gov_east_1/aws-sns-topic.json | 151 --- .../providers/us_gov_west_1/__init__.py | 11 +- .../aws-appconfig-deployment.json | 101 -- .../us_gov_west_1/aws-bedrock-datasource.json | 822 ------------- .../aws-bedrock-knowledgebase.json | 594 ---------- .../us_gov_west_1/aws-eks-cluster.json | 460 -------- .../aws-networkfirewall-firewall.json | 147 +++ .../aws-rolesanywhere-profile.json | 144 --- .../us_gov_west_1/aws-sns-topic.json | 151 --- .../schemas/providers/us_west_1/__init__.py | 5 +- .../aws-emrserverless-application.json | 555 --------- .../us_west_1/aws-mediaconnect-flow.json | 609 ++++++++++ .../aws-networkfirewall-firewall.json | 147 +++ .../us_west_1/aws-sagemaker-domain.json | 899 +++++++++++++++ .../us_west_1/aws-sagemaker-userprofile.json | 662 +++++++++++ .../schemas/providers/us_west_2/__init__.py | 7 +- .../us_west_2/aws-connect-routingprofile.json | 203 ---- .../aws-emrserverless-application.json | 555 --------- .../aws-guardduty-publishingdestination.json | 92 ++ .../us_west_2/aws-m2-application.json | 122 ++ .../us_west_2/aws-m2-environment.json | 215 ++++ .../aws-networkfirewall-firewall.json | 154 --- ...53profiles-profileresourceassociation.json | 48 + 215 files changed, 27138 insertions(+), 20178 deletions(-) create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationefs.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxlustre.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxontap.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxwindows.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locations3.json rename src/cfnlint/data/schemas/providers/{ap_southeast_2 => af_south_1}/aws-networkfirewall-firewall.json (96%) rename src/cfnlint/data/schemas/providers/{ap_southeast_2 => af_south_1}/aws-sagemaker-domain.json (99%) rename src/cfnlint/data/schemas/providers/{ca_central_1 => af_south_1}/aws-sagemaker-userprofile.json (99%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-sns-topic.json rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_east_1}/aws-networkfirewall-firewall.json (96%) rename src/cfnlint/data/schemas/providers/{ca_central_1 => ap_east_1}/aws-sagemaker-domain.json (99%) rename src/cfnlint/data/schemas/providers/{ap_southeast_2 => ap_east_1}/aws-sagemaker-userprofile.json (99%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-application.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53profiles-profileresourceassociation.json rename src/cfnlint/data/schemas/providers/{ap_northeast_2 => ap_northeast_1}/aws-sagemaker-domain.json (99%) rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_northeast_1}/aws-sagemaker-userprofile.json (99%) rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_northeast_2}/aws-networkfirewall-firewall.json (96%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-emrserverless-application.json rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_northeast_3}/aws-sagemaker-domain.json (99%) rename src/cfnlint/data/schemas/providers/{ap_northeast_2 => ap_northeast_3}/aws-sagemaker-userprofile.json (99%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json rename src/cfnlint/data/schemas/providers/{ap_south_1 => ap_south_2}/aws-networkfirewall-firewall.json (96%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-bedrock-promptversion.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-appconfig-deployment.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-appconfig-deployment.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-appconfig-deployment.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-topic.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-promptversion.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationefs.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxlustre.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxontap.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxopenzfs.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxwindows.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locations3.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sns-topic.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationaccountcontactassociation.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationadditionalchannelassociation.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-appconfig-deployment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-datasource.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-knowledgebase.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-appconfig-deployment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-datasource.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-knowledgebase.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewall.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rolesanywhere-profile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sns-topic.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flow.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-connect-routingprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-publishingdestination.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-m2-application.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-networkfirewall-firewall.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-route53profiles-profileresourceassociation.json diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index ca78e4efb4..d9776d5c88 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -11445,21 +11445,37 @@ "ARNRegex": "^arn:aws:notifications:.*:.+:.+", "Actions": [ "AssociateChannel", + "AssociateManagedNotificationAccountContact", + "AssociateManagedNotificationAdditionalChannel", "CreateEventRule", "CreateNotificationConfiguration", "DeleteEventRule", "DeleteNotificationConfiguration", "DeregisterNotificationHub", + "DisableNotificationsAccessForOrganization", "DisassociateChannel", + "DisassociateManagedNotificationAccountContact", + "DisassociateManagedNotificationAdditionalChannel", + "EnableNotificationsAccessForOrganization", "GetEventRule", + "GetFeatureOptInStatus", + "GetManagedNotificationChildEvent", + "GetManagedNotificationConfiguration", + "GetManagedNotificationEvent", "GetNotificationConfiguration", "GetNotificationEvent", + "GetNotificationsAccessForOrganization", "ListChannels", "ListEventRules", + "ListManagedNotificationChannelAssociations", + "ListManagedNotificationChildEvents", + "ListManagedNotificationConfigurations", + "ListManagedNotificationEvents", "ListNotificationConfigurations", "ListNotificationEvents", "ListNotificationHubs", "ListTagsForResource", + "PutFeatureOptInStatus", "RegisterNotificationHub", "TagResource", "UntagResource", diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index 49b9430323..0481f38199 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"6130484ea605f10f862df1d6af72ad7f\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8fd7c12285b314c3516a081769fd8716\"", "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 b0d23dce31..834d7b4b13 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"c3d4e00d1c97e9fd1f2ea102d5f6dcd8\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"138c79bb6e6fe22bb44268aa4afa54ae\"", "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 fba353fc6f..4c9d52f936 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"f9f9610c74ca73821d6175ec11a12cc6\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"69c22390ac18cb1beffaf2ccc56fbf7d\"", "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 4cbfafb688..8866626aa7 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"31f57210b1d7e7e03b98f85e138c5e12\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"231d1e0862c4222a3753a732bf630050\"", "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 467b92ebb5..470113e723 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"cc05e7b1caf5f870227cb6fbaefc3165\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9b42be3251624457c186674341d508ac\"", "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 c27bab496b..ca647cb177 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"5552a5bffc8ff3d9d5dbcb7575fd2142\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0a691fbc3d3d0b0d2ea83011a91bd1c6\"", "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 49c6b45527..4f51e3e4d2 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"b8b51f29e5caa3926c3888b1c6c04e87\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c0f7a243b170d8dbcc55f25c659b1933\"", "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 bf2f640bb4..030f66fc75 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"89c4d15c02b10b6fe3468c69d902cd5e\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"1a4bcf37014f8151fe137d98a1d5a526\"", "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 b9c418501f..72b0b0f2d2 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"05c475e308f652b93550ce7703de81ae\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9e0bf4af79a3ac252b002932067d38cb\"", "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 89841f40b4..e2119d3157 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"4aab89c266dc496e2aa2c53077ad4108\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8018f74974419ee46a336282be075f6b\"", "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 8ee3fd585a..71ff538757 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"8c2fe7d1a6569c0c7439082ea764abcb\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a5395acafa924752a24417eda81338ef\"", "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 17043e2f0d..2c5231c28a 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"3c415a8f8a178b04a7ea03639bc31663\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8470ac5348da5c96bad637af7cedcbe9\"", "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 37a378ed30..60d207282f 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"1a3a79eb8d7f35b54e39c4697bdf9d9a\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"174cfb3bd311cd8f5c5504bbb68040ed\"", "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 b1f7323e8b..a5cd992160 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"014b6cba5b21b42ff2a143f9c9b0ab9a\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9197bc9f1142bcca0f716659df7aa9c5\"", "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 5168fdb062..45fb33584b 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"86b59e1d02c0d521e92f11745417e643\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fb67c5742f23db7e4912a3cb68d27974\"", "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 25ef41c598..7873653dc0 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"0b23a33bc6e9b63dc9de1e54ede6d269\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"67e05dd34d88ae3a8ef230c3f1b832b1\"", "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 eea6fa19ef..250e6d2056 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"9a799125bcc79dbd19af921aaab63514\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e9c6fbbbfb4e21da94eee7b85bf639c9\"", "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 7fa3d9ae63..b4bfbfc71f 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"f13d373ba0cb03063f870e2c247fd5c6\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b82ff3f2253504958c76e0221fb6ae40\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/938898214b52d71b96c5ccc34de3b5bdc83164555533634faab47e36a5074fe6.meta.json b/src/cfnlint/data/DownloadsMetadata/938898214b52d71b96c5ccc34de3b5bdc83164555533634faab47e36a5074fe6.meta.json index f5dae4d860..f0e9fca480 100644 --- a/src/cfnlint/data/DownloadsMetadata/938898214b52d71b96c5ccc34de3b5bdc83164555533634faab47e36a5074fe6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/938898214b52d71b96c5ccc34de3b5bdc83164555533634faab47e36a5074fe6.meta.json @@ -1 +1 @@ -{"etag": "\"e0c34d24aefc5792e1b819b26d7ec457\"", "url": "https://schema.cloudformation.ap-southeast-7.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5bd58fc9c64a4c94cbf5a3e824ea9ed7\"", "url": "https://schema.cloudformation.ap-southeast-7.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json index 9ec5872377..fedb56c11d 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"01146ffacbd66db8afc5906e46e6ef08\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6996f51026c29926aa74441ec5208c51\"", "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 de910cbdd8..24f8b7da49 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"84b4139b56daff2786a7ad1e2f40e0f9\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2bb799818273621e1c8f886dca2ecd04\"", "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 40f6bd19b7..0599ef0f3c 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"340c3dbe33afb30053b155458ce8e147\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"70410d2e4134118cc35d3188fe72b608\"", "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 83093081c2..1a838dc5d0 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"13cc2ba9d9ddb70c8d8fba441b26eb13\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"dc8563fefa28f2a7900eb163e6d973fa\"", "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 3107fb8071..18f70fa145 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"1bfc0c3e0c2e4d4a84316e3aad3c2db5\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"db6011f8d61df8147d0e6c753b93093c\"", "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 1cb3f70d28..b9b2c3e229 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"073c9d71880a97b2230190785b67a824\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cf39ac6dad4ddd822ee8d58d1fdd3a1d\"", "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 880cbd5597..bb5bfde8f3 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"22365dea2fb4f1c879f6f927a0a96373\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"032442c4f08af106e65e78e43420ac7f\"", "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 bf89bc063b..00d72389f4 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"8959989b873ba0033202c89f105f10bd\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4d2f70dddf460f066e57032c2afeee27\"", "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 1c35912104..10cd221f7c 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"20e34a579317e1a557f82bb354a915d3\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"dea0d50db0c10abab273e5cd75555740\"", "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 0696580d29..80d832ee84 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"0fcd3fe53c1bac67e85ba906729c3707\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"418aa2be0970ddf394eb0e5b2a52f56a\"", "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 f77d71c406..2c29392255 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"819c067ce02f996fe78b5106035cd7ff\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"21de494ba77b1aeafe06a4ed2b03f5fd\"", "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 0f3fc8a45b..d197e90351 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"955b00dfcea2f8906e30d4689baadb3a\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5a1fc56077e874155c2b7ab9a978e4ec\"", "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 29a5525678..4efc51fbea 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"b06efffd75aa7f88b3e0b717a2efaf2a\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c3ad69350bb12559dfc38652e3b6a0eb\"", "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 7612275fb8..c4ce9da9f4 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"33ffbd6206e55ce81aa063bfe75067b3\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"269532c37a73297a23d1b9fc6d64fa5e\"", "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 5aeb250dc0..f0eca52dfb 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"e7f9b9265a0aa3a4d5318def09c7b639\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"593548e8bf2eaa48e1ce413a98d8e27d\"", "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 cceee2a996..d3eaa1938a 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"c17129f6b6abc1d06956bf1b5bb7939d\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"11aa620ef27bead759053677d19d5a5a\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json index d7829d211f..6b3967b30d 100644 --- a/src/cfnlint/data/Serverless/ManagedPolicies.json +++ b/src/cfnlint/data/Serverless/ManagedPolicies.json @@ -1044,6 +1044,7 @@ "AmazonSageMakerModelGovernanceUseAccess": "arn:aws:iam::aws:policy/AmazonSageMakerModelGovernanceUseAccess", "AmazonSageMakerModelRegistryFullAccess": "arn:aws:iam::aws:policy/AmazonSageMakerModelRegistryFullAccess", "AmazonSageMakerNotebooksServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AmazonSageMakerNotebooksServiceRolePolicy", + "AmazonSageMakerPartnerAppsFullAccess": "arn:aws:iam::aws:policy/AmazonSageMakerPartnerAppsFullAccess", "AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy": "arn:aws:iam::aws:policy/service-role/AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy", "AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy": "arn:aws:iam::aws:policy/service-role/AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy", "AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy": "arn:aws:iam::aws:policy/service-role/AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy", diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json index eccab83879..a660212e29 100644 --- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json @@ -168,6 +168,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -534,6 +536,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -1061,6 +1065,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -1427,6 +1433,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -1954,6 +1962,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -2320,6 +2330,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -2847,6 +2859,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -3213,6 +3227,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -3740,6 +3756,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -4106,6 +4124,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -4633,6 +4653,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -4999,6 +5021,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -5526,6 +5550,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -5892,6 +5918,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -6419,6 +6447,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -6785,6 +6815,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -7312,6 +7344,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -7678,6 +7712,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -8205,6 +8241,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -8571,6 +8609,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -9098,6 +9138,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -9464,6 +9506,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -9991,6 +10035,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -10357,6 +10403,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -10884,6 +10932,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -11250,6 +11300,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -11777,6 +11829,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -12143,6 +12197,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -12670,6 +12726,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -13036,6 +13094,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -13563,6 +13623,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -13929,6 +13991,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -14456,6 +14520,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -14822,6 +14888,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -15349,6 +15417,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -15715,6 +15785,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -16242,6 +16314,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -16608,6 +16682,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -17135,6 +17211,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -17501,6 +17579,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -18028,6 +18108,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -18394,6 +18476,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -18921,6 +19005,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -19287,6 +19373,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -19814,6 +19902,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -20180,6 +20270,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -20707,6 +20799,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -21073,6 +21167,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -21600,6 +21696,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -21966,6 +22064,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -22493,6 +22593,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -22859,6 +22961,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -23386,6 +23490,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -23752,6 +23858,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -24279,6 +24387,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -24645,6 +24755,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -25172,6 +25284,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -25538,6 +25652,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -26065,6 +26181,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -26431,6 +26549,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -26958,6 +27078,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -27324,6 +27446,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -27851,6 +27975,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -28217,6 +28343,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -28744,6 +28872,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -29110,6 +29240,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -29637,6 +29769,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -30003,6 +30137,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", @@ -30530,6 +30666,8 @@ "c7gn.medium", "c7gn.metal", "c7gn.xlarge", + "c7i-flex.12xlarge", + "c7i-flex.16xlarge", "c7i-flex.2xlarge", "c7i-flex.4xlarge", "c7i-flex.8xlarge", @@ -30896,6 +31034,8 @@ "m7gd.medium", "m7gd.metal", "m7gd.xlarge", + "m7i-flex.12xlarge", + "m7i-flex.16xlarge", "m7i-flex.2xlarge", "m7i-flex.4xlarge", "m7i-flex.8xlarge", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_capacityreservationfleet/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_capacityreservationfleet/boto.json index bb2d8ef7c4..e373a967b0 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_capacityreservationfleet/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_capacityreservationfleet/boto.json @@ -219,6 +219,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -575,6 +577,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -811,6 +815,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -824,10 +829,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_ec2fleet/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_ec2fleet/boto.json index a1099a6096..87cc002238 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_ec2fleet/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_ec2fleet/boto.json @@ -227,6 +227,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -583,6 +585,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -819,6 +823,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -832,10 +837,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/boto.json index f699647b42..46d3e73dc9 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/boto.json @@ -249,6 +249,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -605,6 +607,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -841,6 +845,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -854,10 +859,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json index 59f2e37cfc..e84c1b7a0a 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json @@ -374,6 +374,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -730,6 +732,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -966,6 +970,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -979,10 +984,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", 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 e8d40091ac..b500795218 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -1103,14 +1103,9 @@ "aws-databrew-schedule.json", "aws-datasync-agent.json", "aws-datasync-locationazureblob.json", - "aws-datasync-locationefs.json", - "aws-datasync-locationfsxlustre.json", - "aws-datasync-locationfsxontap.json", - "aws-datasync-locationfsxwindows.json", "aws-datasync-locationhdfs.json", "aws-datasync-locationnfs.json", "aws-datasync-locationobjectstorage.json", - "aws-datasync-locations3.json", "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", @@ -1428,7 +1423,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1549,7 +1543,6 @@ "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1566,7 +1559,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -1620,6 +1612,7 @@ "aws-signer-profilepermission.json", "aws-signer-signingprofile.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/af_south_1/aws-datasync-locationefs.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationefs.json new file mode 100644 index 0000000000..3ca514b9b7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationefs.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Ec2Config", + "/properties/EfsFilesystemArn" + ], + "definitions": { + "Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "SubnetArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$", + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "AccessPointArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]+:[0-9]{12}:access-point/fsap-[0-9a-f]{8,40}$", + "type": "string" + }, + "Ec2Config": { + "$ref": "#/definitions/Ec2Config" + }, + "EfsFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$", + "type": "string" + }, + "FileSystemAccessRoleArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$", + "type": "string" + }, + "InTransitEncryption": { + "enum": [ + "NONE", + "TLS1_2" + ], + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9.\\-/]+$", + "type": "string" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "Ec2Config" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationEFS", + "writeOnlyProperties": [ + "/properties/EfsFilesystemArn", + "/properties/Subdirectory" + ] +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxlustre.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxlustre.json new file mode 100644 index 0000000000..091c47bdc5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxlustre.json @@ -0,0 +1,97 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FsxFilesystemArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:file-system/fs-[0-9a-f]+$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw|hdfs|fsxl)://[a-zA-Z0-9.:/\\-]+$", + "type": "string" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "SecurityGroupArns" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxLustre", + "writeOnlyProperties": [ + "/properties/Subdirectory", + "/properties/FsxFilesystemArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxontap.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxontap.json new file mode 100644 index 0000000000..bcfc67bb63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxontap.json @@ -0,0 +1,189 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StorageVirtualMachineArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/NfsMountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "NfsMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "enum": [ + "AUTOMATIC", + "NFS3", + "NFS4_0", + "NFS4_1" + ], + "type": "string" + } + }, + "type": "object" + }, + "Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/NFS" + }, + "SMB": { + "$ref": "#/definitions/SMB" + } + }, + "type": "object" + }, + "SMB": { + "additionalProperties": false, + "properties": { + "Domain": { + "maxLength": 253, + "pattern": "^([A-Za-z0-9]+[A-Za-z0-9-.]*)*[A-Za-z0-9-]*[A-Za-z0-9]$", + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/SmbMountOptions" + }, + "Password": { + "maxLength": 104, + "pattern": "^.{0,104}$", + "type": "string" + }, + "User": { + "maxLength": 104, + "pattern": "^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$", + "type": "string" + } + }, + "required": [ + "User", + "Password", + "MountOptions" + ], + "type": "object" + }, + "SmbMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "enum": [ + "AUTOMATIC", + "SMB2", + "SMB3" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:file-system/fs-[0-9a-f]+$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4360, + "pattern": "^(efs|nfs|s3|smb|hdfs|fsx[a-z0-9-]+)://[a-zA-Z0-9.:/\\-]+$", + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/Protocol" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "StorageVirtualMachineArn": { + "maxLength": 162, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:storage-virtual-machine/fs-[0-9a-f]+/svm-[0-9a-f]{17,}$", + "type": "string" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri", + "/properties/FsxFilesystemArn" + ], + "required": [ + "SecurityGroupArns", + "StorageVirtualMachineArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxONTAP", + "writeOnlyProperties": [ + "/properties/Protocol", + "/properties/Subdirectory" + ] +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxwindows.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxwindows.json new file mode 100644 index 0000000000..7066d92236 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locationfsxwindows.json @@ -0,0 +1,111 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FsxFilesystemArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "Domain": { + "maxLength": 253, + "pattern": "^([A-Za-z0-9]+[A-Za-z0-9-.]*)*[A-Za-z0-9-]*[A-Za-z0-9]$", + "type": "string" + }, + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9./\\-]+$", + "type": "string" + }, + "Password": { + "maxLength": 104, + "pattern": "^.{0,104}$", + "type": "string" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "User": { + "maxLength": 104, + "pattern": "^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "User", + "SecurityGroupArns" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxWindows", + "writeOnlyProperties": [ + "/properties/Password", + "/properties/Subdirectory", + "/properties/FsxFilesystemArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locations3.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locations3.json new file mode 100644 index 0000000000..016e199f06 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-datasync-locations3.json @@ -0,0 +1,114 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/S3BucketArn" + ], + "definitions": { + "S3Config": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "maxLength": 2048, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$", + "type": "string" + } + }, + "required": [ + "BucketAccessRoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9.\\-/]+$", + "type": "string" + }, + "S3BucketArn": { + "maxLength": 156, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:[a-z\\-0-9]*:[0-9]*:.*$", + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/S3Config" + }, + "S3StorageClass": { + "default": "STANDARD", + "enum": [ + "STANDARD", + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "GLACIER", + "GLACIER_INSTANT_RETRIEVAL", + "DEEP_ARCHIVE" + ], + "type": "string" + }, + "Subdirectory": { + "maxLength": 1024, + "pattern": "^[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}\\p{C}]*$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "S3Config" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationS3", + "writeOnlyProperties": [ + "/properties/Subdirectory", + "/properties/S3BucketArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-networkfirewall-firewall.json similarity index 96% rename from src/cfnlint/data/schemas/providers/ap_southeast_2/aws-networkfirewall-firewall.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-networkfirewall-firewall.json index 3fc83d352e..9c49b419c5 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-networkfirewall-firewall.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-networkfirewall-firewall.json @@ -5,13 +5,6 @@ "/properties/FirewallName" ], "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, "EndpointId": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json similarity index 99% rename from src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json index 67b2695475..a6255dc5a7 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json @@ -448,8 +448,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json similarity index 99% rename from src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json index bdfd7f6c08..2d4d1a2f88 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json @@ -336,8 +336,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/ap_east_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py index 39617ff76d..aad7a04f7c 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -1407,7 +1407,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1524,7 +1523,6 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1545,7 +1543,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-networkfirewall-firewall.json similarity index 96% rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-networkfirewall-firewall.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-networkfirewall-firewall.json index 3fc83d352e..9c49b419c5 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-networkfirewall-firewall.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-networkfirewall-firewall.json @@ -5,13 +5,6 @@ "/properties/FirewallName" ], "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, "EndpointId": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-domain.json similarity index 99% rename from src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-domain.json index 67b2695475..a6255dc5a7 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-domain.json @@ -448,8 +448,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-userprofile.json similarity index 99% rename from src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-userprofile.json index bdfd7f6c08..2d4d1a2f88 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-userprofile.json @@ -336,8 +336,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, 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 62129adad2..cd049378fb 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -2103,9 +2103,7 @@ "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", - "aws-m2-application.json", "aws-m2-deployment.json", - "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -2174,6 +2172,7 @@ "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2329,7 +2328,6 @@ "aws-route53-recordsetgroup.json", "aws-route53profiles-profile.json", "aws-route53profiles-profileassociation.json", - "aws-route53profiles-profileresourceassociation.json", "aws-route53resolver-firewalldomainlist.json", "aws-route53resolver-firewallrulegroup.json", "aws-route53resolver-firewallrulegroupassociation.json", @@ -2367,7 +2365,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2390,7 +2387,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-application.json new file mode 100644 index 0000000000..709b664fa6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-application.json @@ -0,0 +1,122 @@ +{ + "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, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Application", + "writeOnlyProperties": [ + "/properties/Definition" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json new file mode 100644 index 0000000000..b666c811d0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json @@ -0,0 +1,215 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Description", + "/properties/EngineType", + "/properties/KmsKeyId", + "/properties/Name", + "/properties/NetworkType", + "/properties/PubliclyAccessible", + "/properties/SecurityGroupIds", + "/properties/StorageConfigurations", + "/properties/SubnetIds" + ], + "definitions": { + "EfsStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "EngineType": { + "enum": [ + "microfocus", + "bluage" + ], + "type": "string" + }, + "FsxStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "HighAvailabilityConfig": { + "additionalProperties": false, + "properties": { + "DesiredCapacity": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "DesiredCapacity" + ], + "type": "object" + }, + "NetworkType": { + "enum": [ + "ipv4", + "dual" + ], + "type": "string" + }, + "StorageConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Efs": { + "$ref": "#/definitions/EfsStorageConfiguration" + } + }, + "required": [ + "Efs" + ] + }, + { + "additionalProperties": false, + "properties": { + "Fsx": { + "$ref": "#/definitions/FsxStorageConfiguration" + } + }, + "required": [ + "Fsx" + ] + } + ], + "type": "object" + }, + "TagMap": { + "additionalProperties": false, + "maxProperties": 200, + "minProperties": 0, + "patternProperties": { + "^(?!aws:).+$": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentArn" + ], + "properties": { + "Description": { + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "EngineType": { + "$ref": "#/definitions/EngineType" + }, + "EngineVersion": { + "pattern": "^\\S{1,10}$", + "type": "string" + }, + "EnvironmentArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", + "type": "string" + }, + "EnvironmentId": { + "pattern": "^\\S{1,80}$", + "type": "string" + }, + "HighAvailabilityConfig": { + "$ref": "#/definitions/HighAvailabilityConfig" + }, + "InstanceType": { + "pattern": "^\\S{1,20}$", + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "type": "string" + }, + "Name": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", + "type": "string" + }, + "NetworkType": { + "$ref": "#/definitions/NetworkType" + }, + "PreferredMaintenanceWindow": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "StorageConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StorageConfiguration" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/TagMap" + } + }, + "readOnlyProperties": [ + "/properties/EnvironmentArn", + "/properties/EnvironmentId" + ], + "required": [ + "EngineType", + "InstanceType", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Environment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53profiles-profileresourceassociation.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53profiles-profileresourceassociation.json new file mode 100644 index 0000000000..bca3fe66cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53profiles-profileresourceassociation.json @@ -0,0 +1,48 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ProfileId", + "/properties/Name", + "/properties/ResourceArn" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProfileId": { + "type": "string" + }, + "ResourceArn": { + "type": "string" + }, + "ResourceProperties": { + "type": "string" + }, + "ResourceType": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/ResourceType" + ], + "required": [ + "ProfileId", + "Name", + "ResourceArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53profiles", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Route53Profiles::ProfileResourceAssociation" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json similarity index 99% rename from src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json index 67b2695475..a6255dc5a7 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json @@ -448,8 +448,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json similarity index 99% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-userprofile.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json index bdfd7f6c08..2d4d1a2f88 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json @@ -336,8 +336,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, 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 64c8a940f3..0d11bf2848 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -2006,7 +2006,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2176,6 +2175,7 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2198,6 +2198,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -2263,6 +2264,7 @@ "aws-signer-profilepermission.json", "aws-signer-signingprofile.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/cn_north_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-networkfirewall-firewall.json similarity index 96% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-networkfirewall-firewall.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-networkfirewall-firewall.json index 3fc83d352e..9c49b419c5 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-networkfirewall-firewall.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-networkfirewall-firewall.json @@ -5,13 +5,6 @@ "/properties/FirewallName" ], "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, "EndpointId": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/ap_northeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py index ea08991768..3e676d76b7 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -1197,6 +1197,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -1482,7 +1483,6 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1504,7 +1504,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", "aws-sdb-domain.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json similarity index 99% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json index 67b2695475..a6255dc5a7 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json @@ -448,8 +448,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json similarity index 99% rename from src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json index bdfd7f6c08..2d4d1a2f88 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json @@ -336,8 +336,7 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" + "LakeraGuard" ], "type": "string" }, 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 befcf0f604..bc42d7d946 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -1668,6 +1668,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -1986,6 +1987,7 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2164,7 +2166,6 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2187,7 +2188,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py index d053c35b6d..3ed7735eaf 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -1130,7 +1130,6 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1273,6 +1272,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.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/ap_south_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewall.json similarity index 96% rename from src/cfnlint/data/schemas/providers/ap_south_1/aws-networkfirewall-firewall.json rename to src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewall.json index 3fc83d352e..9c49b419c5 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkfirewall-firewall.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-firewall.json @@ -5,13 +5,6 @@ "/properties/FirewallName" ], "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, "EndpointId": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/ap_southeast_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py index 0cb2faaec6..4886dd26a7 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -1419,6 +1419,7 @@ "aws-bedrock-guardrailversion.json", "aws-bedrock-knowledgebase.json", "aws-bedrock-prompt.json", + "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", @@ -1787,6 +1788,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", "aws-entityresolution-idnamespace.json", "aws-entityresolution-matchingworkflow.json", @@ -2312,7 +2314,6 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2335,7 +2336,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-bedrock-promptversion.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-bedrock-promptversion.json deleted file mode 100644 index b79f1da1a7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-bedrock-promptversion.json +++ /dev/null @@ -1,244 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PromptArn", - "/properties/Description", - "/properties/Tags" - ], - "definitions": { - "PromptInferenceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "Text": { - "$ref": "#/definitions/PromptModelInferenceConfiguration" - } - }, - "required": [ - "Text" - ], - "title": "Text", - "type": "object" - } - ] - }, - "PromptInputVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - } - }, - "type": "object" - }, - "PromptModelInferenceConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTokens": { - "maximum": 4096, - "minimum": 0, - "type": "number" - }, - "StopSequences": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "maxItems": 4, - "minItems": 0, - "type": "array" - }, - "Temperature": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "TopP": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "PromptTemplateConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "Text": { - "$ref": "#/definitions/TextPromptTemplateConfiguration" - } - }, - "required": [ - "Text" - ], - "title": "Text", - "type": "object" - } - ] - }, - "PromptTemplateType": { - "enum": [ - "TEXT" - ], - "type": "string" - }, - "PromptVariant": { - "additionalProperties": false, - "properties": { - "InferenceConfiguration": { - "$ref": "#/definitions/PromptInferenceConfiguration" - }, - "ModelId": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$", - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "TemplateConfiguration": { - "$ref": "#/definitions/PromptTemplateConfiguration" - }, - "TemplateType": { - "$ref": "#/definitions/PromptTemplateType" - } - }, - "required": [ - "Name", - "TemplateType", - "TemplateConfiguration" - ], - "type": "object" - }, - "TagsMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9\\s._:/=+@-]*$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", - "type": "string" - } - }, - "type": "object" - }, - "TextPromptTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "InputVariables": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PromptInputVariable" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Text": { - "maxLength": 200000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Text" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10}:[0-9]{1,20})$", - "type": "string" - }, - "CreatedAt": { - "format": "date-time", - "type": "string" - }, - "CustomerEncryptionKeyArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", - "type": "string" - }, - "DefaultVariant": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "Description": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "PromptArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10})$", - "type": "string" - }, - "PromptId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/TagsMap" - }, - "UpdatedAt": { - "format": "date-time", - "type": "string" - }, - "Variants": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PromptVariant" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "Version": { - "maxLength": 5, - "minLength": 1, - "pattern": "^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/CreatedAt", - "/properties/PromptId", - "/properties/UpdatedAt", - "/properties/Version", - "/properties/Name", - "/properties/DefaultVariant", - "/properties/Variants", - "/properties/CustomerEncryptionKeyArn" - ], - "required": [ - "PromptArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-bedrock-prompts", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::Bedrock::PromptVersion" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index dae7ebdf88..cad5fdb465 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -1815,6 +1815,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", "aws-entityresolution-idnamespace.json", "aws-entityresolution-matchingworkflow.json", @@ -2160,6 +2161,7 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2353,6 +2355,7 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2375,6 +2378,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py index cf71cad486..80da9013f8 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -1210,7 +1210,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1332,7 +1331,6 @@ "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1348,7 +1346,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -1400,6 +1397,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.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/ap_southeast_3/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/ap_southeast_4/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py index 6407a16026..8a0ed9fd69 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -1114,7 +1114,6 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1257,6 +1256,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.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/ap_southeast_4/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/ap_southeast_5/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py index 353c8a648f..1fb2da1425 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py @@ -480,6 +480,7 @@ "aws-apigateway-usageplankey.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", + "aws-appconfig-deployment.json", "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", @@ -730,7 +731,6 @@ "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", "aws-msk-vpcconnection.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-appconfig-deployment.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-appconfig-deployment.json deleted file mode 100644 index b641afb6de..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-appconfig-deployment.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyIdentifier", - "/properties/DeploymentStrategyId", - "/properties/ConfigurationVersion", - "/properties/ApplicationId", - "/properties/ConfigurationProfileId", - "/properties/Tags", - "/properties/EnvironmentId", - "/properties/Description", - "/properties/DynamicExtensionParameters" - ], - "definitions": { - "DynamicExtensionParameters": { - "additionalProperties": false, - "properties": { - "ExtensionReference": { - "type": "string" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "pattern": "(^[a-z0-9]{4,7}$|^AppConfig\\.[A-Za-z0-9]{9,40}$)", - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamicExtensionParameters": { - "items": { - "$ref": "#/definitions/DynamicExtensionParameters" - }, - "type": "array", - "uniqueItems": false - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Id": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DeploymentStrategyId", - "ConfigurationProfileId", - "EnvironmentId", - "ConfigurationVersion", - "ApplicationId" - ], - "typeName": "AWS::AppConfig::Deployment" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-instance.json index f1c0327a96..1e7f75a846 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-instance.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-instance.json @@ -675,6 +675,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -1031,6 +1033,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -1267,6 +1271,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1280,10 +1285,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_7/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/ap_southeast_7/aws-ec2-instance.json index f1c0327a96..1e7f75a846 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_7/aws-ec2-instance.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_7/aws-ec2-instance.json @@ -675,6 +675,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -1031,6 +1033,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -1267,6 +1271,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1280,10 +1285,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", 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 305012b1aa..a32ad92d4a 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -1628,6 +1628,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -2071,6 +2072,7 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2093,6 +2095,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index edf7939fbb..8def6c2d24 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -975,7 +975,6 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1101,6 +1100,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.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/ca_west_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/cn_north_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py index 70476738a8..c88871c1ca 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -769,6 +769,7 @@ "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", + "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", "aws-appconfig-environment.json", "aws-appconfig-extension.json", @@ -1196,6 +1197,7 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1288,6 +1290,7 @@ "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1301,6 +1304,7 @@ "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-appconfig-deployment.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-appconfig-deployment.json deleted file mode 100644 index b641afb6de..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-appconfig-deployment.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyIdentifier", - "/properties/DeploymentStrategyId", - "/properties/ConfigurationVersion", - "/properties/ApplicationId", - "/properties/ConfigurationProfileId", - "/properties/Tags", - "/properties/EnvironmentId", - "/properties/Description", - "/properties/DynamicExtensionParameters" - ], - "definitions": { - "DynamicExtensionParameters": { - "additionalProperties": false, - "properties": { - "ExtensionReference": { - "type": "string" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "pattern": "(^[a-z0-9]{4,7}$|^AppConfig\\.[A-Za-z0-9]{9,40}$)", - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamicExtensionParameters": { - "items": { - "$ref": "#/definitions/DynamicExtensionParameters" - }, - "type": "array", - "uniqueItems": false - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Id": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DeploymentStrategyId", - "ConfigurationProfileId", - "EnvironmentId", - "ConfigurationVersion", - "ApplicationId" - ], - "typeName": "AWS::AppConfig::Deployment" -} 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 433b73562d..22a4b842cd 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -727,6 +727,7 @@ "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", + "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", "aws-appconfig-environment.json", "aws-appconfig-extension.json", @@ -941,6 +942,7 @@ "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", @@ -1118,7 +1120,6 @@ "aws-mwaa-environment.json", "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1198,6 +1199,7 @@ "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1211,6 +1213,7 @@ "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", @@ -1243,6 +1246,7 @@ "aws-servicediscovery-publicdnsnamespace.json", "aws-servicediscovery-service.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/cn_northwest_1/aws-appconfig-deployment.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-appconfig-deployment.json deleted file mode 100644 index b641afb6de..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-appconfig-deployment.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyIdentifier", - "/properties/DeploymentStrategyId", - "/properties/ConfigurationVersion", - "/properties/ApplicationId", - "/properties/ConfigurationProfileId", - "/properties/Tags", - "/properties/EnvironmentId", - "/properties/Description", - "/properties/DynamicExtensionParameters" - ], - "definitions": { - "DynamicExtensionParameters": { - "additionalProperties": false, - "properties": { - "ExtensionReference": { - "type": "string" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "pattern": "(^[a-z0-9]{4,7}$|^AppConfig\\.[A-Za-z0-9]{9,40}$)", - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamicExtensionParameters": { - "items": { - "$ref": "#/definitions/DynamicExtensionParameters" - }, - "type": "array", - "uniqueItems": false - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Id": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DeploymentStrategyId", - "ConfigurationProfileId", - "EnvironmentId", - "ConfigurationVersion", - "ApplicationId" - ], - "typeName": "AWS::AppConfig::Deployment" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json deleted file mode 100644 index 55ce6660fe..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/OutpostConfig", - "/properties/EncryptionConfig", - "/properties/KubernetesNetworkConfig", - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/Name", - "/properties/RoleArn", - "/properties/BootstrapSelfManagedAddons", - "/properties/RemoteNetworkConfig" - ], - "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" - }, - "ComputeConfig": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "NodePools": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "NodeRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "ControlPlanePlacement": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - } - }, - "type": "object" - }, - "ElasticLoadBalancing": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "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": { - "ElasticLoadBalancing": { - "$ref": "#/definitions/ElasticLoadBalancing" - }, - "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" - }, - "RemoteNetworkConfig": { - "additionalProperties": false, - "properties": { - "RemoteNodeNetworks": { - "$ref": "#/definitions/RemoteNodeNetworks" - }, - "RemotePodNetworks": { - "$ref": "#/definitions/RemotePodNetworks" - } - }, - "required": [ - "RemoteNodeNetworks" - ], - "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" - }, - "StorageConfig": { - "additionalProperties": false, - "properties": { - "BlockStorage": { - "$ref": "#/definitions/BlockStorage" - } - }, - "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" - }, - "ComputeConfig": { - "$ref": "#/definitions/ComputeConfig" - }, - "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" - }, - "RemoteNetworkConfig": { - "$ref": "#/definitions/RemoteNetworkConfig" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "StorageConfig": { - "$ref": "#/definitions/StorageConfig" - }, - "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_northwest_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json deleted file mode 100644 index 67b2695475..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,900 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json deleted file mode 100644 index bdfd7f6c08..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,663 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py index 46af9e4930..94bce98d1f 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -2188,6 +2188,7 @@ "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2291,7 +2292,6 @@ "aws-quicksight-refreshschedule.json", "aws-quicksight-template.json", "aws-quicksight-theme.json", - "aws-quicksight-topic.json", "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", @@ -2391,7 +2391,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpoint.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", @@ -2415,7 +2414,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 3fc83d352e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "enum": [ - "DUALSTACK", - "IPV4", - "IPV6" - ], - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "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::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-topic.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-topic.json new file mode 100644 index 0000000000..c614b05adb --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-topic.json @@ -0,0 +1,1019 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/FolderArns", + "/properties/TopicId" + ], + "definitions": { + "AggregationFunctionParameters": { + "additionalProperties": false, + "patternProperties": { + ".+": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "AuthorSpecifiedAggregation": { + "enum": [ + "COUNT", + "DISTINCT_COUNT", + "MIN", + "MAX", + "MEDIAN", + "SUM", + "AVERAGE", + "STDEV", + "STDEVP", + "VAR", + "VARP", + "PERCENTILE" + ], + "type": "string" + }, + "CategoryFilterFunction": { + "enum": [ + "EXACT", + "CONTAINS" + ], + "type": "string" + }, + "CategoryFilterType": { + "enum": [ + "CUSTOM_FILTER", + "CUSTOM_FILTER_LIST", + "FILTER_LIST" + ], + "type": "string" + }, + "CellValueSynonym": { + "additionalProperties": false, + "properties": { + "CellValue": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Synonyms": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CollectiveConstant": { + "additionalProperties": false, + "properties": { + "ValueList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ColumnDataRole": { + "enum": [ + "DIMENSION", + "MEASURE" + ], + "type": "string" + }, + "ColumnOrderingType": { + "enum": [ + "GREATER_IS_BETTER", + "LESSER_IS_BETTER", + "SPECIFIED" + ], + "type": "string" + }, + "ComparativeOrder": { + "additionalProperties": false, + "properties": { + "SpecifedOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TreatUndefinedSpecifiedValues": { + "$ref": "#/definitions/UndefinedSpecifiedValueType" + }, + "UseOrdering": { + "$ref": "#/definitions/ColumnOrderingType" + } + }, + "type": "object" + }, + "ConstantType": { + "enum": [ + "SINGULAR", + "RANGE", + "COLLECTIVE" + ], + "type": "string" + }, + "DataAggregation": { + "additionalProperties": false, + "properties": { + "DatasetRowDateGranularity": { + "$ref": "#/definitions/TopicTimeGranularity" + }, + "DefaultDateColumnName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "DatasetMetadata": { + "additionalProperties": false, + "properties": { + "CalculatedFields": { + "items": { + "$ref": "#/definitions/TopicCalculatedField" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/TopicColumn" + }, + "type": "array" + }, + "DataAggregation": { + "$ref": "#/definitions/DataAggregation" + }, + "DatasetArn": { + "type": "string" + }, + "DatasetDescription": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "DatasetName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Filters": { + "items": { + "$ref": "#/definitions/TopicFilter" + }, + "type": "array" + }, + "NamedEntities": { + "items": { + "$ref": "#/definitions/TopicNamedEntity" + }, + "type": "array" + } + }, + "required": [ + "DatasetArn" + ], + "type": "object" + }, + "DefaultAggregation": { + "enum": [ + "SUM", + "MAX", + "MIN", + "COUNT", + "DISTINCT_COUNT", + "AVERAGE", + "MEDIAN", + "STDEV", + "STDEVP", + "VAR", + "VARP" + ], + "type": "string" + }, + "DefaultFormatting": { + "additionalProperties": false, + "properties": { + "DisplayFormat": { + "$ref": "#/definitions/DisplayFormat" + }, + "DisplayFormatOptions": { + "$ref": "#/definitions/DisplayFormatOptions" + } + }, + "type": "object" + }, + "DisplayFormat": { + "enum": [ + "AUTO", + "PERCENT", + "CURRENCY", + "NUMBER", + "DATE", + "STRING" + ], + "type": "string" + }, + "DisplayFormatOptions": { + "additionalProperties": false, + "properties": { + "BlankCellFormat": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "CurrencySymbol": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "DateFormat": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "DecimalSeparator": { + "$ref": "#/definitions/TopicNumericSeparatorSymbol" + }, + "FractionDigits": { + "default": 0, + "type": "number" + }, + "GroupingSeparator": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "NegativeFormat": { + "$ref": "#/definitions/NegativeFormat" + }, + "Prefix": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Suffix": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "UnitScaler": { + "$ref": "#/definitions/NumberScale" + }, + "UseBlankCellFormat": { + "default": false, + "type": "boolean" + }, + "UseGrouping": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "FilterClass": { + "enum": [ + "ENFORCED_VALUE_FILTER", + "CONDITIONAL_VALUE_FILTER", + "NAMED_VALUE_FILTER" + ], + "type": "string" + }, + "NamedEntityAggType": { + "enum": [ + "SUM", + "MIN", + "MAX", + "COUNT", + "AVERAGE", + "DISTINCT_COUNT", + "STDEV", + "STDEVP", + "VAR", + "VARP", + "PERCENTILE", + "MEDIAN", + "CUSTOM" + ], + "type": "string" + }, + "NamedEntityDefinition": { + "additionalProperties": false, + "properties": { + "FieldName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Metric": { + "$ref": "#/definitions/NamedEntityDefinitionMetric" + }, + "PropertyName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "PropertyRole": { + "$ref": "#/definitions/PropertyRole" + }, + "PropertyUsage": { + "$ref": "#/definitions/PropertyUsage" + } + }, + "type": "object" + }, + "NamedEntityDefinitionMetric": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/NamedEntityAggType" + }, + "AggregationFunctionParameters": { + "$ref": "#/definitions/AggregationFunctionParameters" + } + }, + "type": "object" + }, + "NamedFilterAggType": { + "enum": [ + "NO_AGGREGATION", + "SUM", + "AVERAGE", + "COUNT", + "DISTINCT_COUNT", + "MAX", + "MEDIAN", + "MIN", + "STDEV", + "STDEVP", + "VAR", + "VARP" + ], + "type": "string" + }, + "NamedFilterType": { + "enum": [ + "CATEGORY_FILTER", + "NUMERIC_EQUALITY_FILTER", + "NUMERIC_RANGE_FILTER", + "DATE_RANGE_FILTER", + "RELATIVE_DATE_FILTER" + ], + "type": "string" + }, + "NegativeFormat": { + "additionalProperties": false, + "properties": { + "Prefix": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Suffix": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "NumberScale": { + "enum": [ + "NONE", + "AUTO", + "THOUSANDS", + "MILLIONS", + "BILLIONS", + "TRILLIONS", + "LAKHS", + "CRORES" + ], + "type": "string" + }, + "PropertyRole": { + "enum": [ + "PRIMARY", + "ID" + ], + "type": "string" + }, + "PropertyUsage": { + "enum": [ + "INHERIT", + "DIMENSION", + "MEASURE" + ], + "type": "string" + }, + "RangeConstant": { + "additionalProperties": false, + "properties": { + "Maximum": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Minimum": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "SemanticEntityType": { + "additionalProperties": false, + "properties": { + "SubTypeName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "TypeName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "TypeParameters": { + "$ref": "#/definitions/TypeParameters" + } + }, + "type": "object" + }, + "SemanticType": { + "additionalProperties": false, + "properties": { + "FalseyCellValue": { + "type": "string" + }, + "FalseyCellValueSynonyms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubTypeName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "TruthyCellValue": { + "type": "string" + }, + "TruthyCellValueSynonyms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TypeName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "TypeParameters": { + "$ref": "#/definitions/TypeParameters" + } + }, + "type": "object" + }, + "TopicCalculatedField": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/DefaultAggregation" + }, + "AllowedAggregations": { + "items": { + "$ref": "#/definitions/AuthorSpecifiedAggregation" + }, + "type": "array" + }, + "CalculatedFieldDescription": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "CalculatedFieldName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "CalculatedFieldSynonyms": { + "items": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "type": "array" + }, + "CellValueSynonyms": { + "items": { + "$ref": "#/definitions/CellValueSynonym" + }, + "type": "array" + }, + "ColumnDataRole": { + "$ref": "#/definitions/ColumnDataRole" + }, + "ComparativeOrder": { + "$ref": "#/definitions/ComparativeOrder" + }, + "DefaultFormatting": { + "$ref": "#/definitions/DefaultFormatting" + }, + "DisableIndexing": { + "type": "boolean" + }, + "Expression": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "IsIncludedInTopic": { + "default": false, + "type": "boolean" + }, + "NeverAggregateInFilter": { + "default": false, + "type": "boolean" + }, + "NonAdditive": { + "default": false, + "type": "boolean" + }, + "NotAllowedAggregations": { + "items": { + "$ref": "#/definitions/AuthorSpecifiedAggregation" + }, + "type": "array" + }, + "SemanticType": { + "$ref": "#/definitions/SemanticType" + }, + "TimeGranularity": { + "$ref": "#/definitions/TopicTimeGranularity" + } + }, + "required": [ + "CalculatedFieldName", + "Expression" + ], + "type": "object" + }, + "TopicCategoryFilter": { + "additionalProperties": false, + "properties": { + "CategoryFilterFunction": { + "$ref": "#/definitions/CategoryFilterFunction" + }, + "CategoryFilterType": { + "$ref": "#/definitions/CategoryFilterType" + }, + "Constant": { + "$ref": "#/definitions/TopicCategoryFilterConstant" + }, + "Inverse": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "TopicCategoryFilterConstant": { + "additionalProperties": false, + "properties": { + "CollectiveConstant": { + "$ref": "#/definitions/CollectiveConstant" + }, + "ConstantType": { + "$ref": "#/definitions/ConstantType" + }, + "SingularConstant": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "TopicColumn": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/DefaultAggregation" + }, + "AllowedAggregations": { + "items": { + "$ref": "#/definitions/AuthorSpecifiedAggregation" + }, + "type": "array" + }, + "CellValueSynonyms": { + "items": { + "$ref": "#/definitions/CellValueSynonym" + }, + "type": "array" + }, + "ColumnDataRole": { + "$ref": "#/definitions/ColumnDataRole" + }, + "ColumnDescription": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "ColumnFriendlyName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "ColumnName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "ColumnSynonyms": { + "items": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "type": "array" + }, + "ComparativeOrder": { + "$ref": "#/definitions/ComparativeOrder" + }, + "DefaultFormatting": { + "$ref": "#/definitions/DefaultFormatting" + }, + "DisableIndexing": { + "type": "boolean" + }, + "IsIncludedInTopic": { + "default": false, + "type": "boolean" + }, + "NeverAggregateInFilter": { + "default": false, + "type": "boolean" + }, + "NonAdditive": { + "default": false, + "type": "boolean" + }, + "NotAllowedAggregations": { + "items": { + "$ref": "#/definitions/AuthorSpecifiedAggregation" + }, + "type": "array" + }, + "SemanticType": { + "$ref": "#/definitions/SemanticType" + }, + "TimeGranularity": { + "$ref": "#/definitions/TopicTimeGranularity" + } + }, + "required": [ + "ColumnName" + ], + "type": "object" + }, + "TopicConfigOptions": { + "additionalProperties": false, + "properties": { + "QBusinessInsightsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "TopicDateRangeFilter": { + "additionalProperties": false, + "properties": { + "Constant": { + "$ref": "#/definitions/TopicRangeFilterConstant" + }, + "Inclusive": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "TopicDetails": { + "additionalProperties": false, + "properties": { + "ConfigOptions": { + "$ref": "#/definitions/TopicConfigOptions" + }, + "DataSets": { + "items": { + "$ref": "#/definitions/DatasetMetadata" + }, + "type": "array" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "UserExperienceVersion": { + "$ref": "#/definitions/TopicUserExperienceVersion" + } + }, + "type": "object" + }, + "TopicFilter": { + "additionalProperties": false, + "properties": { + "CategoryFilter": { + "$ref": "#/definitions/TopicCategoryFilter" + }, + "DateRangeFilter": { + "$ref": "#/definitions/TopicDateRangeFilter" + }, + "FilterClass": { + "$ref": "#/definitions/FilterClass" + }, + "FilterDescription": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "FilterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "FilterSynonyms": { + "items": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "type": "array" + }, + "FilterType": { + "$ref": "#/definitions/NamedFilterType" + }, + "NumericEqualityFilter": { + "$ref": "#/definitions/TopicNumericEqualityFilter" + }, + "NumericRangeFilter": { + "$ref": "#/definitions/TopicNumericRangeFilter" + }, + "OperandFieldName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "RelativeDateFilter": { + "$ref": "#/definitions/TopicRelativeDateFilter" + } + }, + "required": [ + "FilterName", + "OperandFieldName" + ], + "type": "object" + }, + "TopicNamedEntity": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "$ref": "#/definitions/NamedEntityDefinition" + }, + "type": "array" + }, + "EntityDescription": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EntityName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EntitySynonyms": { + "items": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "type": "array" + }, + "SemanticEntityType": { + "$ref": "#/definitions/SemanticEntityType" + } + }, + "required": [ + "EntityName" + ], + "type": "object" + }, + "TopicNumericEqualityFilter": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/NamedFilterAggType" + }, + "Constant": { + "$ref": "#/definitions/TopicSingularFilterConstant" + } + }, + "type": "object" + }, + "TopicNumericRangeFilter": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/NamedFilterAggType" + }, + "Constant": { + "$ref": "#/definitions/TopicRangeFilterConstant" + }, + "Inclusive": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "TopicNumericSeparatorSymbol": { + "enum": [ + "COMMA", + "DOT" + ], + "type": "string" + }, + "TopicRangeFilterConstant": { + "additionalProperties": false, + "properties": { + "ConstantType": { + "$ref": "#/definitions/ConstantType" + }, + "RangeConstant": { + "$ref": "#/definitions/RangeConstant" + } + }, + "type": "object" + }, + "TopicRelativeDateFilter": { + "additionalProperties": false, + "properties": { + "Constant": { + "$ref": "#/definitions/TopicSingularFilterConstant" + }, + "RelativeDateFilterFunction": { + "$ref": "#/definitions/TopicRelativeDateFilterFunction" + }, + "TimeGranularity": { + "$ref": "#/definitions/TopicTimeGranularity" + } + }, + "type": "object" + }, + "TopicRelativeDateFilterFunction": { + "enum": [ + "PREVIOUS", + "THIS", + "LAST", + "NEXT", + "NOW" + ], + "type": "string" + }, + "TopicSingularFilterConstant": { + "additionalProperties": false, + "properties": { + "ConstantType": { + "$ref": "#/definitions/ConstantType" + }, + "SingularConstant": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "TopicTimeGranularity": { + "enum": [ + "SECOND", + "MINUTE", + "HOUR", + "DAY", + "WEEK", + "MONTH", + "QUARTER", + "YEAR" + ], + "type": "string" + }, + "TopicUserExperienceVersion": { + "enum": [ + "LEGACY", + "NEW_READER_EXPERIENCE" + ], + "type": "string" + }, + "TypeParameters": { + "additionalProperties": false, + "patternProperties": { + ".+": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "UndefinedSpecifiedValueType": { + "enum": [ + "LEAST", + "MOST" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/TopicId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "ConfigOptions": { + "$ref": "#/definitions/TopicConfigOptions" + }, + "DataSets": { + "items": { + "$ref": "#/definitions/DatasetMetadata" + }, + "type": "array" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "FolderArns": { + "items": { + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "TopicId": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[A-Za-z0-9-_.\\\\+]*$", + "type": "string" + }, + "UserExperienceVersion": { + "$ref": "#/definitions/TopicUserExperienceVersion" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::QuickSight::Topic", + "writeOnlyProperties": [ + "/properties/FolderArns" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py index da5bee0f93..12480dd19d 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -1155,7 +1155,6 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1321,6 +1320,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.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_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py index fa606fef4f..c0860dcbd2 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -1701,7 +1701,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1852,7 +1851,6 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1875,7 +1873,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py index 21422f0311..b5d0aba973 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -1342,7 +1342,6 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1464,7 +1463,6 @@ "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1481,7 +1479,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -1535,6 +1532,7 @@ "aws-signer-profilepermission.json", "aws-signer-signingprofile.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_south_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py index 5f6b76e025..7588b33141 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -1188,7 +1188,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1294,7 +1293,6 @@ "aws-s3objectlambda-accesspointpolicy.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", - "aws-sagemaker-domain.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", "aws-sagemaker-imageversion.json", @@ -1306,7 +1304,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", "aws-sdb-domain.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py index ba756ba907..0e0fa8eff0 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -1425,6 +1425,7 @@ "aws-bedrock-guardrailversion.json", "aws-bedrock-knowledgebase.json", "aws-bedrock-prompt.json", + "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", @@ -1495,6 +1496,7 @@ "aws-codeartifact-domain.json", "aws-codeartifact-packagegroup.json", "aws-codeartifact-repository.json", + "aws-codebuild-fleet.json", "aws-codebuild-project.json", "aws-codebuild-reportgroup.json", "aws-codebuild-sourcecredential.json", @@ -1552,15 +1554,9 @@ "aws-datapipeline-pipeline.json", "aws-datasync-agent.json", "aws-datasync-locationazureblob.json", - "aws-datasync-locationefs.json", - "aws-datasync-locationfsxlustre.json", - "aws-datasync-locationfsxontap.json", - "aws-datasync-locationfsxopenzfs.json", - "aws-datasync-locationfsxwindows.json", "aws-datasync-locationhdfs.json", "aws-datasync-locationnfs.json", "aws-datasync-locationobjectstorage.json", - "aws-datasync-locations3.json", "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", @@ -1764,6 +1760,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", "aws-entityresolution-idnamespace.json", "aws-entityresolution-matchingworkflow.json", @@ -2132,6 +2129,7 @@ "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2340,7 +2338,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2363,7 +2360,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-promptversion.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-promptversion.json deleted file mode 100644 index b79f1da1a7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-promptversion.json +++ /dev/null @@ -1,244 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PromptArn", - "/properties/Description", - "/properties/Tags" - ], - "definitions": { - "PromptInferenceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "Text": { - "$ref": "#/definitions/PromptModelInferenceConfiguration" - } - }, - "required": [ - "Text" - ], - "title": "Text", - "type": "object" - } - ] - }, - "PromptInputVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - } - }, - "type": "object" - }, - "PromptModelInferenceConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTokens": { - "maximum": 4096, - "minimum": 0, - "type": "number" - }, - "StopSequences": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "maxItems": 4, - "minItems": 0, - "type": "array" - }, - "Temperature": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "TopP": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "PromptTemplateConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "Text": { - "$ref": "#/definitions/TextPromptTemplateConfiguration" - } - }, - "required": [ - "Text" - ], - "title": "Text", - "type": "object" - } - ] - }, - "PromptTemplateType": { - "enum": [ - "TEXT" - ], - "type": "string" - }, - "PromptVariant": { - "additionalProperties": false, - "properties": { - "InferenceConfiguration": { - "$ref": "#/definitions/PromptInferenceConfiguration" - }, - "ModelId": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$", - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "TemplateConfiguration": { - "$ref": "#/definitions/PromptTemplateConfiguration" - }, - "TemplateType": { - "$ref": "#/definitions/PromptTemplateType" - } - }, - "required": [ - "Name", - "TemplateType", - "TemplateConfiguration" - ], - "type": "object" - }, - "TagsMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9\\s._:/=+@-]*$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", - "type": "string" - } - }, - "type": "object" - }, - "TextPromptTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "InputVariables": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PromptInputVariable" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Text": { - "maxLength": 200000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Text" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10}:[0-9]{1,20})$", - "type": "string" - }, - "CreatedAt": { - "format": "date-time", - "type": "string" - }, - "CustomerEncryptionKeyArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", - "type": "string" - }, - "DefaultVariant": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "Description": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "PromptArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10})$", - "type": "string" - }, - "PromptId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/TagsMap" - }, - "UpdatedAt": { - "format": "date-time", - "type": "string" - }, - "Variants": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PromptVariant" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "Version": { - "maxLength": 5, - "minLength": 1, - "pattern": "^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/CreatedAt", - "/properties/PromptId", - "/properties/UpdatedAt", - "/properties/Version", - "/properties/Name", - "/properties/DefaultVariant", - "/properties/Variants", - "/properties/CustomerEncryptionKeyArn" - ], - "required": [ - "PromptArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-bedrock-prompts", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::Bedrock::PromptVersion" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json deleted file mode 100644 index 85c9bd3cbe..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json +++ /dev/null @@ -1,248 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "ComputeConfiguration": { - "additionalProperties": false, - "properties": { - "disk": { - "type": "integer" - }, - "machineType": { - "enum": [ - "GENERAL", - "NVME" - ], - "type": "string" - }, - "memory": { - "type": "integer" - }, - "vCpu": { - "type": "integer" - } - }, - "type": "object" - }, - "FleetProxyRule": { - "additionalProperties": false, - "properties": { - "Effect": { - "enum": [ - "ALLOW", - "DENY" - ], - "type": "string" - }, - "Entities": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "enum": [ - "DOMAIN", - "IP" - ], - "type": "string" - } - }, - "type": "object" - }, - "ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultBehavior": { - "enum": [ - "ALLOW_ALL", - "DENY_ALL" - ], - "type": "string" - }, - "OrderedProxyRules": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/FleetProxyRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "ScalingConfigurationInput": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "minimum": 1, - "type": "integer" - }, - "ScalingType": { - "enum": [ - "TARGET_TRACKING_SCALING" - ], - "type": "string" - }, - "TargetTrackingScalingConfigs": { - "items": { - "$ref": "#/definitions/TargetTrackingScalingConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "[a-zA-Z+-=._:/]+$", - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TargetTrackingScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MetricType": { - "enum": [ - "FLEET_UTILIZATION_RATE" - ], - "type": "string" - }, - "TargetValue": { - "type": "number" - } - }, - "type": "object" - }, - "VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "minLength": 1, - "type": "string" - }, - "BaseCapacity": { - "minimum": 1, - "type": "integer" - }, - "ComputeConfiguration": { - "$ref": "#/definitions/ComputeConfiguration" - }, - "ComputeType": { - "enum": [ - "BUILD_GENERAL1_SMALL", - "BUILD_GENERAL1_MEDIUM", - "BUILD_GENERAL1_LARGE", - "BUILD_GENERAL1_XLARGE", - "BUILD_GENERAL1_2XLARGE", - "ATTRIBUTE_BASED_COMPUTE" - ], - "type": "string" - }, - "EnvironmentType": { - "enum": [ - "WINDOWS_SERVER_2019_CONTAINER", - "WINDOWS_SERVER_2022_CONTAINER", - "LINUX_CONTAINER", - "LINUX_GPU_CONTAINER", - "ARM_CONTAINER", - "MAC_ARM" - ], - "type": "string" - }, - "FleetProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration" - }, - "FleetServiceRole": { - "pattern": "^(?:arn:)[a-zA-Z+-=,._:/@]+$", - "type": "string" - }, - "FleetVpcConfig": { - "$ref": "#/definitions/VpcConfig" - }, - "ImageId": { - "format": "AWS::EC2::Image.Id", - "pattern": "^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$", - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 2, - "pattern": "[A-Za-z0-9][A-Za-z0-9\\-_]{1,127}", - "type": "string" - }, - "OverflowBehavior": { - "enum": [ - "QUEUE", - "ON_DEMAND" - ], - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfigurationInput" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CodeBuild::Fleet" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationefs.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationefs.json new file mode 100644 index 0000000000..3ca514b9b7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationefs.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Ec2Config", + "/properties/EfsFilesystemArn" + ], + "definitions": { + "Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "SubnetArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$", + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "AccessPointArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]+:[0-9]{12}:access-point/fsap-[0-9a-f]{8,40}$", + "type": "string" + }, + "Ec2Config": { + "$ref": "#/definitions/Ec2Config" + }, + "EfsFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$", + "type": "string" + }, + "FileSystemAccessRoleArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$", + "type": "string" + }, + "InTransitEncryption": { + "enum": [ + "NONE", + "TLS1_2" + ], + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9.\\-/]+$", + "type": "string" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "Ec2Config" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationEFS", + "writeOnlyProperties": [ + "/properties/EfsFilesystemArn", + "/properties/Subdirectory" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxlustre.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxlustre.json new file mode 100644 index 0000000000..091c47bdc5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxlustre.json @@ -0,0 +1,97 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FsxFilesystemArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:file-system/fs-[0-9a-f]+$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw|hdfs|fsxl)://[a-zA-Z0-9.:/\\-]+$", + "type": "string" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "SecurityGroupArns" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxLustre", + "writeOnlyProperties": [ + "/properties/Subdirectory", + "/properties/FsxFilesystemArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxontap.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxontap.json new file mode 100644 index 0000000000..bcfc67bb63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxontap.json @@ -0,0 +1,189 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StorageVirtualMachineArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/NfsMountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "NfsMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "enum": [ + "AUTOMATIC", + "NFS3", + "NFS4_0", + "NFS4_1" + ], + "type": "string" + } + }, + "type": "object" + }, + "Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/NFS" + }, + "SMB": { + "$ref": "#/definitions/SMB" + } + }, + "type": "object" + }, + "SMB": { + "additionalProperties": false, + "properties": { + "Domain": { + "maxLength": 253, + "pattern": "^([A-Za-z0-9]+[A-Za-z0-9-.]*)*[A-Za-z0-9-]*[A-Za-z0-9]$", + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/SmbMountOptions" + }, + "Password": { + "maxLength": 104, + "pattern": "^.{0,104}$", + "type": "string" + }, + "User": { + "maxLength": 104, + "pattern": "^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$", + "type": "string" + } + }, + "required": [ + "User", + "Password", + "MountOptions" + ], + "type": "object" + }, + "SmbMountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "enum": [ + "AUTOMATIC", + "SMB2", + "SMB3" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:file-system/fs-[0-9a-f]+$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4360, + "pattern": "^(efs|nfs|s3|smb|hdfs|fsx[a-z0-9-]+)://[a-zA-Z0-9.:/\\-]+$", + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/Protocol" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "StorageVirtualMachineArn": { + "maxLength": 162, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:storage-virtual-machine/fs-[0-9a-f]+/svm-[0-9a-f]{17,}$", + "type": "string" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri", + "/properties/FsxFilesystemArn" + ], + "required": [ + "SecurityGroupArns", + "StorageVirtualMachineArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxONTAP", + "writeOnlyProperties": [ + "/properties/Protocol", + "/properties/Subdirectory" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxopenzfs.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxopenzfs.json new file mode 100644 index 0000000000..ff20f64e6a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxopenzfs.json @@ -0,0 +1,137 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FsxFilesystemArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "enum": [ + "AUTOMATIC", + "NFS3", + "NFS4_0", + "NFS4_1" + ], + "type": "string" + } + }, + "type": "object" + }, + "NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/NFS" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]+:[0-9]{12}:file-system/fs-[0-9a-f]+$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw|hdfs|fsxl|fsxz)://[a-zA-Z0-9.:/\\-]+$", + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/Protocol" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "SecurityGroupArns", + "Protocol" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxOpenZFS", + "writeOnlyProperties": [ + "/properties/Subdirectory", + "/properties/FsxFilesystemArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxwindows.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxwindows.json new file mode 100644 index 0000000000..7066d92236 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locationfsxwindows.json @@ -0,0 +1,111 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FsxFilesystemArn", + "/properties/SecurityGroupArns" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "Domain": { + "maxLength": 253, + "pattern": "^([A-Za-z0-9]+[A-Za-z0-9-.]*)*[A-Za-z0-9-]*[A-Za-z0-9]$", + "type": "string" + }, + "FsxFilesystemArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$", + "type": "string" + }, + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9./\\-]+$", + "type": "string" + }, + "Password": { + "maxLength": 104, + "pattern": "^.{0,104}$", + "type": "string" + }, + "SecurityGroupArns": { + "insertionOrder": false, + "items": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$", + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "maxLength": 4096, + "pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "User": { + "maxLength": 104, + "pattern": "^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "User", + "SecurityGroupArns" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationFSxWindows", + "writeOnlyProperties": [ + "/properties/Password", + "/properties/Subdirectory", + "/properties/FsxFilesystemArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locations3.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locations3.json new file mode 100644 index 0000000000..016e199f06 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-datasync-locations3.json @@ -0,0 +1,114 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/S3BucketArn" + ], + "definitions": { + "S3Config": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "maxLength": 2048, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$", + "type": "string" + } + }, + "required": [ + "BucketAccessRoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:/-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9\\s+=._:@/-]+$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationArn" + ], + "properties": { + "LocationArn": { + "maxLength": 128, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", + "type": "string" + }, + "LocationUri": { + "maxLength": 4356, + "pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9.\\-/]+$", + "type": "string" + }, + "S3BucketArn": { + "maxLength": 156, + "pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:[a-z\\-0-9]*:[0-9]*:.*$", + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/S3Config" + }, + "S3StorageClass": { + "default": "STANDARD", + "enum": [ + "STANDARD", + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "GLACIER", + "GLACIER_INSTANT_RETRIEVAL", + "DEEP_ARCHIVE" + ], + "type": "string" + }, + "Subdirectory": { + "maxLength": 1024, + "pattern": "^[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}\\p{C}]*$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn", + "/properties/LocationUri" + ], + "required": [ + "S3Config" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataSync::LocationS3", + "writeOnlyProperties": [ + "/properties/Subdirectory", + "/properties/S3BucketArn" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 3fc83d352e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "enum": [ - "DUALSTACK", - "IPV4", - "IPV6" - ], - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "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::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index 421989a0a5..1463838fae 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -2009,7 +2009,6 @@ "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2189,6 +2188,7 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2211,6 +2211,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-domain.json deleted file mode 100644 index 67b2695475..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-domain.json +++ /dev/null @@ -1,900 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-userprofile.json deleted file mode 100644 index bdfd7f6c08..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,663 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py index b17f87b759..c9ed5e0a06 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1654,7 +1654,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1798,7 +1797,6 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1820,7 +1818,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -1886,6 +1883,7 @@ "aws-signer-profilepermission.json", "aws-signer-signingprofile.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_west_3/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/il_central_1/__init__.py b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py index 8154d22f37..0f2c31994e 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -1140,7 +1140,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1251,7 +1250,6 @@ "aws-s3outposts-endpoint.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", - "aws-sagemaker-domain.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", "aws-sagemaker-imageversion.json", @@ -1263,7 +1261,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", @@ -1311,6 +1308,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.json", "aws-sns-subscription.json", + "aws-sns-topic.json", "aws-sns-topicinlinepolicy.json", "aws-sqs-queue.json", "aws-sqs-queueinlinepolicy.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/me_central_1/__init__.py b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py index 03df72fecf..f267d5f52a 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -1235,7 +1235,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1341,7 +1340,6 @@ "aws-s3objectlambda-accesspointpolicy.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", - "aws-sagemaker-domain.json", "aws-sagemaker-image.json", "aws-sagemaker-imageversion.json", "aws-sagemaker-inferencecomponent.json", @@ -1352,7 +1350,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", "aws-sdb-domain.json", @@ -1392,6 +1389,7 @@ "aws-shield-protection.json", "aws-shield-protectiongroup.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/me_central_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py index 37f6dcee6f..7eb79e0263 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -1368,7 +1368,6 @@ "aws-neptune-dbparametergroup.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1485,6 +1484,7 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1505,6 +1505,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -1557,6 +1558,7 @@ "aws-signer-profilepermission.json", "aws-signer-signingprofile.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/me_south_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json deleted file mode 100644 index 67b2695475..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,900 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json deleted file mode 100644 index bdfd7f6c08..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,663 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py index 2853edb446..14fdd60f59 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -1477,6 +1477,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -1721,6 +1722,7 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1860,7 +1862,6 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1883,7 +1884,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 3fc83d352e..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "enum": [ - "DUALSTACK", - "IPV4", - "IPV6" - ], - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "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::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py index dc078ea56a..756ef49e60 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py @@ -946,6 +946,8 @@ "AWS::NimbleStudio::StudioComponent", "AWS::Notifications::ChannelAssociation", "AWS::Notifications::EventRule", + "AWS::Notifications::ManagedNotificationAccountContactAssociation", + "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation", "AWS::Notifications::NotificationConfiguration", "AWS::Notifications::NotificationHub", "AWS::NotificationsContacts::EmailContact", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-capacityreservationfleet.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-capacityreservationfleet.json index 36c632a034..7d50899441 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-capacityreservationfleet.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-capacityreservationfleet.json @@ -262,6 +262,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -618,6 +620,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -854,6 +858,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -867,10 +872,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json index 1a23e2ee2f..cfdfbd72cc 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json @@ -395,6 +395,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -751,6 +753,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -987,6 +991,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1000,10 +1005,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-instance.json index 506da281f7..ebe6c81149 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-instance.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-instance.json @@ -714,6 +714,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -1070,6 +1072,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -1306,6 +1310,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1319,10 +1324,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-launchtemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-launchtemplate.json index 3505cc1c10..7b97561a5f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-launchtemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-launchtemplate.json @@ -752,6 +752,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -1108,6 +1110,8 @@ "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", + "p5e.48xlarge", + "p5en.48xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", @@ -1344,6 +1348,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1357,10 +1362,13 @@ "u-9tb1.112xlarge", "u-9tb1.metal", "u7i-12tb.224xlarge", + "u7i-6tb.112xlarge", + "u7i-8tb.112xlarge", "u7ib-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", + "u7inh-32tb.480xlarge", "vt1.24xlarge", "vt1.3xlarge", "vt1.6xlarge", 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 9c49b419c5..3fc83d352e 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 @@ -5,6 +5,13 @@ "/properties/FirewallName" ], "definitions": { + "EnabledAnalysisType": { + "enum": [ + "TLS_SNI", + "HTTP_HOST" + ], + "type": "string" + }, "EndpointId": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationaccountcontactassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationaccountcontactassociation.json new file mode 100644 index 0000000000..cdc39423e7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationaccountcontactassociation.json @@ -0,0 +1,43 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ManagedNotificationConfigurationArn", + "/properties/ContactIdentifier" + ], + "definitions": { + "ContactIdentifier": { + "enum": [ + "ACCOUNT_PRIMARY", + "ACCOUNT_ALTERNATE_SECURITY", + "ACCOUNT_ALTERNATE_OPERATIONS", + "ACCOUNT_ALTERNATE_BILLING" + ], + "type": "string" + }, + "ManagedNotificationConfigurationArn": { + "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/ManagedNotificationConfigurationArn", + "/properties/ContactIdentifier" + ], + "properties": { + "ContactIdentifier": { + "$ref": "#/definitions/ContactIdentifier" + }, + "ManagedNotificationConfigurationArn": { + "$ref": "#/definitions/ManagedNotificationConfigurationArn" + } + }, + "required": [ + "ContactIdentifier", + "ManagedNotificationConfigurationArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::Notifications::ManagedNotificationAccountContactAssociation" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationadditionalchannelassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationadditionalchannelassociation.json new file mode 100644 index 0000000000..130c0251a9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-notifications-managednotificationadditionalchannelassociation.json @@ -0,0 +1,29 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ChannelArn", + "/properties/ManagedNotificationConfigurationArn" + ], + "primaryIdentifier": [ + "/properties/ChannelArn", + "/properties/ManagedNotificationConfigurationArn" + ], + "properties": { + "ChannelArn": { + "pattern": "^arn:aws:(chatbot|consoleapp|notifications-contacts):[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-_.@]+/[a-zA-Z0-9/_.@:-]+$", + "type": "string" + }, + "ManagedNotificationConfigurationArn": { + "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$", + "type": "string" + } + }, + "required": [ + "ChannelArn", + "ManagedNotificationConfigurationArn" + ], + "tagging": { + "taggable": false + }, + "typeName": "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-domain.json index a6255dc5a7..67b2695475 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-domain.json @@ -448,7 +448,8 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard" + "LakeraGuard", + "PerformanceEvaluation" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-userprofile.json index 2d4d1a2f88..bdfd7f6c08 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-userprofile.json @@ -336,7 +336,8 @@ "Comet", "DeepchecksLLMEvaluation", "Fiddler", - "LakeraGuard" + "LakeraGuard", + "PerformanceEvaluation" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py index 4349cffdad..66177d3960 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -1680,6 +1680,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", "aws-entityresolution-idnamespace.json", "aws-entityresolution-matchingworkflow.json", @@ -2185,6 +2186,7 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2207,6 +2209,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json deleted file mode 100644 index 67b2695475..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json +++ /dev/null @@ -1,900 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json deleted file mode 100644 index bdfd7f6c08..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,663 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/FSxLustreFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization", - "HyperPodClusters", - "Comet", - "DeepchecksLLMEvaluation", - "Fiddler", - "LakeraGuard", - "PerformanceEvaluation" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py index 0a2b39872c..f50329c31b 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py @@ -748,6 +748,7 @@ "aws-apigatewayv2-stage.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", + "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", "aws-appconfig-environment.json", "aws-appconfig-extension.json", @@ -789,8 +790,10 @@ "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", + "aws-bedrock-datasource.json", "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", + "aws-bedrock-knowledgebase.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-cassandra-type.json", @@ -1119,7 +1122,6 @@ "aws-msk-vpcconnection.json", "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1258,6 +1260,7 @@ "aws-signer-signingprofile.json", "aws-simspaceweaver-simulation.json", "aws-sns-subscription.json", + "aws-sns-topic.json", "aws-sns-topicpolicy.json", "aws-sqs-queue.json", "aws-sqs-queuepolicy.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-appconfig-deployment.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-appconfig-deployment.json deleted file mode 100644 index b641afb6de..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-appconfig-deployment.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyIdentifier", - "/properties/DeploymentStrategyId", - "/properties/ConfigurationVersion", - "/properties/ApplicationId", - "/properties/ConfigurationProfileId", - "/properties/Tags", - "/properties/EnvironmentId", - "/properties/Description", - "/properties/DynamicExtensionParameters" - ], - "definitions": { - "DynamicExtensionParameters": { - "additionalProperties": false, - "properties": { - "ExtensionReference": { - "type": "string" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "pattern": "(^[a-z0-9]{4,7}$|^AppConfig\\.[A-Za-z0-9]{9,40}$)", - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamicExtensionParameters": { - "items": { - "$ref": "#/definitions/DynamicExtensionParameters" - }, - "type": "array", - "uniqueItems": false - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Id": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DeploymentStrategyId", - "ConfigurationProfileId", - "EnvironmentId", - "ConfigurationVersion", - "ApplicationId" - ], - "typeName": "AWS::AppConfig::Deployment" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-datasource.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-datasource.json deleted file mode 100644 index 6e4538a89f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-datasource.json +++ /dev/null @@ -1,822 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KnowledgeBaseId", - "/properties/VectorIngestionConfiguration/ChunkingConfiguration", - "/properties/VectorIngestionConfiguration/ParsingConfiguration", - "/properties/DataSourceConfiguration/Type" - ], - "definitions": { - "BedrockDataAutomationConfiguration": { - "additionalProperties": false, - "properties": { - "ParsingModality": { - "$ref": "#/definitions/ParsingModality" - } - }, - "type": "object" - }, - "BedrockFoundationModelConfiguration": { - "additionalProperties": false, - "properties": { - "ModelArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$", - "type": "string" - }, - "ParsingModality": { - "$ref": "#/definitions/ParsingModality" - }, - "ParsingPrompt": { - "$ref": "#/definitions/ParsingPrompt" - } - }, - "required": [ - "ModelArn" - ], - "type": "object" - }, - "ChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "ChunkingStrategy": { - "$ref": "#/definitions/ChunkingStrategy" - }, - "FixedSizeChunkingConfiguration": { - "$ref": "#/definitions/FixedSizeChunkingConfiguration" - }, - "HierarchicalChunkingConfiguration": { - "$ref": "#/definitions/HierarchicalChunkingConfiguration" - }, - "SemanticChunkingConfiguration": { - "$ref": "#/definitions/SemanticChunkingConfiguration" - } - }, - "required": [ - "ChunkingStrategy" - ], - "type": "object" - }, - "ChunkingStrategy": { - "enum": [ - "FIXED_SIZE", - "NONE", - "HIERARCHICAL", - "SEMANTIC" - ], - "type": "string" - }, - "ConfluenceCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "FilterConfiguration": { - "$ref": "#/definitions/CrawlFilterConfiguration" - } - }, - "type": "object" - }, - "ConfluenceDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/ConfluenceCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/ConfluenceSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "ConfluenceSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthType": { - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS" - ], - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "HostType": { - "enum": [ - "SAAS" - ], - "type": "string" - }, - "HostUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://[A-Za-z0-9][^\\s]*$", - "type": "string" - } - }, - "required": [ - "HostUrl", - "HostType", - "AuthType", - "CredentialsSecretArn" - ], - "type": "object" - }, - "CrawlFilterConfiguration": { - "additionalProperties": false, - "properties": { - "PatternObjectFilter": { - "$ref": "#/definitions/PatternObjectFilterConfiguration" - }, - "Type": { - "enum": [ - "PATTERN" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "CustomTransformationConfiguration": { - "additionalProperties": false, - "properties": { - "IntermediateStorage": { - "$ref": "#/definitions/IntermediateStorage" - }, - "Transformations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Transformation" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "IntermediateStorage", - "Transformations" - ], - "type": "object" - }, - "DataDeletionPolicy": { - "enum": [ - "RETAIN", - "DELETE" - ], - "type": "string" - }, - "DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "ConfluenceConfiguration": { - "$ref": "#/definitions/ConfluenceDataSourceConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/SalesforceDataSourceConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/SharePointDataSourceConfiguration" - }, - "Type": { - "$ref": "#/definitions/DataSourceType" - }, - "WebConfiguration": { - "$ref": "#/definitions/WebDataSourceConfiguration" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "DataSourceStatus": { - "enum": [ - "AVAILABLE", - "DELETING", - "DELETE_UNSUCCESSFUL" - ], - "type": "string" - }, - "DataSourceType": { - "enum": [ - "S3", - "CONFLUENCE", - "SALESFORCE", - "SHAREPOINT", - "WEB", - "CUSTOM" - ], - "type": "string" - }, - "FilterList": { - "insertionOrder": false, - "items": { - "maxLength": 1000, - "type": "string" - }, - "maxItems": 25, - "minItems": 1, - "type": "array" - }, - "FixedSizeChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTokens": { - "minimum": 1, - "type": "integer" - }, - "OverlapPercentage": { - "maximum": 99, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "MaxTokens", - "OverlapPercentage" - ], - "type": "object" - }, - "HierarchicalChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "LevelConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HierarchicalChunkingLevelConfiguration" - }, - "maxItems": 2, - "minItems": 2, - "type": "array" - }, - "OverlapTokens": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "LevelConfigurations", - "OverlapTokens" - ], - "type": "object" - }, - "HierarchicalChunkingLevelConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTokens": { - "maximum": 8192, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "MaxTokens" - ], - "type": "object" - }, - "IntermediateStorage": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/S3Location" - } - }, - "required": [ - "S3Location" - ], - "type": "object" - }, - "ParsingConfiguration": { - "additionalProperties": false, - "properties": { - "BedrockDataAutomationConfiguration": { - "$ref": "#/definitions/BedrockDataAutomationConfiguration" - }, - "BedrockFoundationModelConfiguration": { - "$ref": "#/definitions/BedrockFoundationModelConfiguration" - }, - "ParsingStrategy": { - "$ref": "#/definitions/ParsingStrategy" - } - }, - "required": [ - "ParsingStrategy" - ], - "type": "object" - }, - "ParsingModality": { - "enum": [ - "MULTIMODAL" - ], - "type": "string" - }, - "ParsingPrompt": { - "additionalProperties": false, - "properties": { - "ParsingPromptText": { - "maxLength": 10000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ParsingPromptText" - ], - "type": "object" - }, - "ParsingStrategy": { - "enum": [ - "BEDROCK_FOUNDATION_MODEL", - "BEDROCK_DATA_AUTOMATION" - ], - "type": "string" - }, - "PatternObjectFilter": { - "additionalProperties": false, - "properties": { - "ExclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "InclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "ObjectType": { - "maxLength": 50, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ObjectType" - ], - "type": "object" - }, - "PatternObjectFilterConfiguration": { - "additionalProperties": false, - "properties": { - "Filters": { - "$ref": "#/definitions/PatternObjectFilterList" - } - }, - "required": [ - "Filters" - ], - "type": "object" - }, - "PatternObjectFilterList": { - "items": { - "$ref": "#/definitions/PatternObjectFilter" - }, - "maxItems": 25, - "minItems": 1, - "type": "array" - }, - "S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(|-cn|-us-gov):s3:::[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$", - "type": "string" - }, - "BucketOwnerAccountId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "InclusionPrefixes": { - "insertionOrder": false, - "items": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "BucketArn" - ], - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "URI": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^s3://.{1,128}$", - "type": "string" - } - }, - "required": [ - "URI" - ], - "type": "object" - }, - "SalesforceCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "FilterConfiguration": { - "$ref": "#/definitions/CrawlFilterConfiguration" - } - }, - "type": "object" - }, - "SalesforceDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/SalesforceCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/SalesforceSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "SalesforceSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthType": { - "enum": [ - "OAUTH2_CLIENT_CREDENTIALS" - ], - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "HostUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://[A-Za-z0-9][^\\s]*$", - "type": "string" - } - }, - "required": [ - "HostUrl", - "AuthType", - "CredentialsSecretArn" - ], - "type": "object" - }, - "SeedUrl": { - "additionalProperties": false, - "properties": { - "Url": { - "pattern": "^https?://[A-Za-z0-9][^\\s]*$", - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "SeedUrls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SeedUrl" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "SemanticChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "BreakpointPercentileThreshold": { - "maximum": 99, - "minimum": 50, - "type": "integer" - }, - "BufferSize": { - "maximum": 1, - "minimum": 0, - "type": "integer" - }, - "MaxTokens": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "BreakpointPercentileThreshold", - "BufferSize", - "MaxTokens" - ], - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", - "type": "string" - } - }, - "type": "object" - }, - "SharePointCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "FilterConfiguration": { - "$ref": "#/definitions/CrawlFilterConfiguration" - } - }, - "type": "object" - }, - "SharePointDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/SharePointCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/SharePointSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "SharePointSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthType": { - "enum": [ - "OAUTH2_CLIENT_CREDENTIALS" - ], - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "Domain": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "HostType": { - "enum": [ - "ONLINE" - ], - "type": "string" - }, - "SiteUrls": { - "insertionOrder": false, - "items": { - "pattern": "^https://[A-Za-z0-9][^\\s]*$", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "TenantId": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "required": [ - "Domain", - "SiteUrls", - "HostType", - "AuthType", - "CredentialsSecretArn" - ], - "type": "object" - }, - "Transformation": { - "additionalProperties": false, - "properties": { - "StepToApply": { - "enum": [ - "POST_CHUNKING" - ], - "type": "string" - }, - "TransformationFunction": { - "$ref": "#/definitions/TransformationFunction" - } - }, - "required": [ - "StepToApply", - "TransformationFunction" - ], - "type": "object" - }, - "TransformationFunction": { - "additionalProperties": false, - "properties": { - "TransformationLambdaConfiguration": { - "$ref": "#/definitions/TransformationLambdaConfiguration" - } - }, - "required": [ - "TransformationLambdaConfiguration" - ], - "type": "object" - }, - "TransformationLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", - "type": "string" - } - }, - "required": [ - "LambdaArn" - ], - "type": "object" - }, - "UrlConfiguration": { - "additionalProperties": false, - "properties": { - "SeedUrls": { - "$ref": "#/definitions/SeedUrls" - } - }, - "required": [ - "SeedUrls" - ], - "type": "object" - }, - "VectorIngestionConfiguration": { - "additionalProperties": false, - "properties": { - "ChunkingConfiguration": { - "$ref": "#/definitions/ChunkingConfiguration" - }, - "CustomTransformationConfiguration": { - "$ref": "#/definitions/CustomTransformationConfiguration" - }, - "ParsingConfiguration": { - "$ref": "#/definitions/ParsingConfiguration" - } - }, - "type": "object" - }, - "WebCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerLimits": { - "$ref": "#/definitions/WebCrawlerLimits" - }, - "ExclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "InclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "Scope": { - "$ref": "#/definitions/WebScopeType" - } - }, - "type": "object" - }, - "WebCrawlerLimits": { - "additionalProperties": false, - "properties": { - "RateLimit": { - "maximum": 300, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "WebDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/WebCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/WebSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "WebScopeType": { - "enum": [ - "HOST_ONLY", - "SUBDOMAINS" - ], - "type": "string" - }, - "WebSourceConfiguration": { - "additionalProperties": false, - "properties": { - "UrlConfiguration": { - "$ref": "#/definitions/UrlConfiguration" - } - }, - "required": [ - "UrlConfiguration" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KnowledgeBaseId", - "/properties/DataSourceId" - ], - "properties": { - "CreatedAt": { - "type": "string" - }, - "DataDeletionPolicy": { - "$ref": "#/definitions/DataDeletionPolicy" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/DataSourceConfiguration" - }, - "DataSourceId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "DataSourceStatus": { - "$ref": "#/definitions/DataSourceStatus" - }, - "Description": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "FailureReasons": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "type": "string" - }, - "maxItems": 2048, - "type": "array" - }, - "KnowledgeBaseId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "UpdatedAt": { - "type": "string" - }, - "VectorIngestionConfiguration": { - "$ref": "#/definitions/VectorIngestionConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/DataSourceId", - "/properties/DataSourceStatus", - "/properties/CreatedAt", - "/properties/UpdatedAt", - "/properties/FailureReasons" - ], - "required": [ - "DataSourceConfiguration", - "Name", - "KnowledgeBaseId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-aps", - "tagging": { - "cloudFormationSystemTags": false, - "taggable": false - }, - "typeName": "AWS::Bedrock::DataSource" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-knowledgebase.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-knowledgebase.json deleted file mode 100644 index f1521868a0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-bedrock-knowledgebase.json +++ /dev/null @@ -1,594 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/StorageConfiguration", - "/properties/KnowledgeBaseConfiguration" - ], - "definitions": { - "BedrockEmbeddingModelConfiguration": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "maximum": 4096, - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "EmbeddingModelConfiguration": { - "additionalProperties": false, - "properties": { - "BedrockEmbeddingModelConfiguration": { - "$ref": "#/definitions/BedrockEmbeddingModelConfiguration" - } - }, - "type": "object" - }, - "KendraIndexArn": { - "pattern": "^arn:aws(|-cn|-us-gov):kendra:[a-z0-9-]{1,20}:([0-9]{12}|):index/([a-zA-Z0-9][a-zA-Z0-9-]{35}|[a-zA-Z0-9][a-zA-Z0-9-]{35}-[a-zA-Z0-9][a-zA-Z0-9-]{35})$", - "type": "string" - }, - "KendraKnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "KendraIndexArn": { - "$ref": "#/definitions/KendraIndexArn" - } - }, - "required": [ - "KendraIndexArn" - ], - "type": "object" - }, - "KnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "KendraKnowledgeBaseConfiguration": { - "$ref": "#/definitions/KendraKnowledgeBaseConfiguration" - }, - "Type": { - "$ref": "#/definitions/KnowledgeBaseType" - }, - "VectorKnowledgeBaseConfiguration": { - "$ref": "#/definitions/VectorKnowledgeBaseConfiguration" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "KnowledgeBaseStatus": { - "enum": [ - "CREATING", - "ACTIVE", - "DELETING", - "UPDATING", - "FAILED", - "DELETE_UNSUCCESSFUL" - ], - "type": "string" - }, - "KnowledgeBaseStorageType": { - "enum": [ - "OPENSEARCH_SERVERLESS", - "PINECONE", - "RDS", - "MONGO_DB_ATLAS" - ], - "type": "string" - }, - "KnowledgeBaseType": { - "enum": [ - "VECTOR", - "KENDRA" - ], - "type": "string" - }, - "MongoDbAtlasConfiguration": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "maxLength": 63, - "pattern": "^.*$", - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "DatabaseName": { - "maxLength": 63, - "pattern": "^.*$", - "type": "string" - }, - "Endpoint": { - "maxLength": 2048, - "pattern": "^[a-zA-Z0-9_-]+\\.[a-zA-Z0-9_-]+\\.mongodb\\.net$", - "type": "string" - }, - "EndpointServiceName": { - "maxLength": 255, - "pattern": "^(?:arn:aws(?:-us-gov|-cn|-iso|-iso-[a-z])*:.+:.*:\\d+:.+/.+$|[a-zA-Z0-9*]+[a-zA-Z0-9._-]*)$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/MongoDbAtlasFieldMapping" - }, - "VectorIndexName": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "Endpoint", - "CredentialsSecretArn", - "DatabaseName", - "CollectionName", - "VectorIndexName", - "FieldMapping" - ], - "type": "object" - }, - "MongoDbAtlasFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "VectorField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "VectorField", - "MetadataField", - "TextField" - ], - "type": "object" - }, - "OpenSearchServerlessConfiguration": { - "additionalProperties": false, - "properties": { - "CollectionArn": { - "maxLength": 2048, - "pattern": "^arn:aws(|-cn|-us-gov|-iso):aoss:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:collection/[a-z0-9-]{3,32}$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/OpenSearchServerlessFieldMapping" - }, - "VectorIndexName": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "CollectionArn", - "FieldMapping", - "VectorIndexName" - ], - "type": "object" - }, - "OpenSearchServerlessFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "VectorField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "TextField", - "VectorField" - ], - "type": "object" - }, - "PineconeConfiguration": { - "additionalProperties": false, - "properties": { - "ConnectionString": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/PineconeFieldMapping" - }, - "Namespace": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "ConnectionString", - "CredentialsSecretArn", - "FieldMapping" - ], - "type": "object" - }, - "PineconeFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "TextField" - ], - "type": "object" - }, - "RdsConfiguration": { - "additionalProperties": false, - "properties": { - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "DatabaseName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/RdsFieldMapping" - }, - "ResourceArn": { - "pattern": "^arn:aws(|-cn|-us-gov):rds:[a-zA-Z0-9-]*:[0-9]{12}:cluster:[a-zA-Z0-9-]{1,63}$", - "type": "string" - }, - "TableName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\.\\-]+$", - "type": "string" - } - }, - "required": [ - "CredentialsSecretArn", - "DatabaseName", - "FieldMapping", - "ResourceArn", - "TableName" - ], - "type": "object" - }, - "RdsFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "PrimaryKeyField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "TextField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "VectorField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "PrimaryKeyField", - "TextField", - "VectorField" - ], - "type": "object" - }, - "RedisEnterpriseCloudConfiguration": { - "additionalProperties": false, - "properties": { - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "Endpoint": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/RedisEnterpriseCloudFieldMapping" - }, - "VectorIndexName": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "CredentialsSecretArn", - "Endpoint", - "FieldMapping", - "VectorIndexName" - ], - "type": "object" - }, - "RedisEnterpriseCloudFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "VectorField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "TextField", - "VectorField" - ], - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "URI": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^s3://.{1,128}$", - "type": "string" - } - }, - "required": [ - "URI" - ], - "type": "object" - }, - "StorageConfiguration": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "OpensearchServerlessConfiguration" - ] - }, - { - "required": [ - "PineconeConfiguration" - ] - }, - { - "required": [ - "RdsConfiguration" - ] - }, - { - "required": [ - "MongoDbAtlasConfiguration" - ] - } - ], - "properties": { - "MongoDbAtlasConfiguration": { - "$ref": "#/definitions/MongoDbAtlasConfiguration" - }, - "OpensearchServerlessConfiguration": { - "$ref": "#/definitions/OpenSearchServerlessConfiguration" - }, - "PineconeConfiguration": { - "$ref": "#/definitions/PineconeConfiguration" - }, - "RdsConfiguration": { - "$ref": "#/definitions/RdsConfiguration" - }, - "Type": { - "$ref": "#/definitions/KnowledgeBaseStorageType" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "SupplementalDataStorageConfiguration": { - "additionalProperties": false, - "properties": { - "SupplementalDataStorageLocations": { - "$ref": "#/definitions/SupplementalDataStorageLocations" - } - }, - "required": [ - "SupplementalDataStorageLocations" - ], - "type": "object" - }, - "SupplementalDataStorageLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/S3Location" - }, - "SupplementalDataStorageLocationType": { - "$ref": "#/definitions/SupplementalDataStorageLocationType" - } - }, - "required": [ - "SupplementalDataStorageLocationType" - ], - "type": "object" - }, - "SupplementalDataStorageLocationType": { - "enum": [ - "S3" - ], - "type": "string" - }, - "SupplementalDataStorageLocations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SupplementalDataStorageLocation" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "TagsMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9\\s._:/=+@-]*$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", - "type": "string" - } - }, - "type": "object" - }, - "VectorKnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "EmbeddingModelArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^(arn:aws(-[^:]+)?:[a-z0-9-]+:[a-z0-9-]{1,20}:[0-9]{0,12}:[a-zA-Z0-9-:/._+]+)$", - "type": "string" - }, - "EmbeddingModelConfiguration": { - "$ref": "#/definitions/EmbeddingModelConfiguration" - }, - "SupplementalDataStorageConfiguration": { - "$ref": "#/definitions/SupplementalDataStorageConfiguration" - } - }, - "required": [ - "EmbeddingModelArn" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KnowledgeBaseId" - ], - "properties": { - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "FailureReasons": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "type": "string" - }, - "maxItems": 2048, - "type": "array" - }, - "KnowledgeBaseArn": { - "maxLength": 128, - "minLength": 0, - "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-zA-Z0-9-]*:[0-9]{12}:knowledge-base/[0-9a-zA-Z]+$", - "type": "string" - }, - "KnowledgeBaseConfiguration": { - "$ref": "#/definitions/KnowledgeBaseConfiguration" - }, - "KnowledgeBaseId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "RoleArn": { - "maxLength": 2048, - "pattern": "^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/KnowledgeBaseStatus" - }, - "StorageConfiguration": { - "$ref": "#/definitions/StorageConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagsMap" - }, - "UpdatedAt": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/KnowledgeBaseId", - "/properties/KnowledgeBaseArn", - "/properties/CreatedAt", - "/properties/UpdatedAt", - "/properties/FailureReasons", - "/properties/Status" - ], - "required": [ - "KnowledgeBaseConfiguration", - "Name", - "RoleArn" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Bedrock::KnowledgeBase" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/us_gov_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py index b313d12358..ae04e359ca 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py @@ -603,6 +603,8 @@ "AWS::Organizations::OrganizationalUnit", "AWS::Organizations::Policy", "AWS::Organizations::ResourcePolicy", + "AWS::PCAConnectorSCEP::Challenge", + "AWS::PCAConnectorSCEP::Connector", "AWS::Pinpoint::ADMChannel", "AWS::Pinpoint::APNSChannel", "AWS::Pinpoint::APNSSandboxChannel", @@ -870,6 +872,7 @@ "aws-apigatewayv2-stage.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", + "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", "aws-appconfig-environment.json", "aws-appconfig-extension.json", @@ -914,11 +917,13 @@ "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", + "aws-bedrock-datasource.json", "aws-bedrock-flow.json", "aws-bedrock-flowalias.json", "aws-bedrock-flowversion.json", "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", + "aws-bedrock-knowledgebase.json", "aws-bedrock-prompt.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", @@ -1128,6 +1133,7 @@ "aws-efs-filesystem.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", @@ -1317,7 +1323,6 @@ "aws-msk-vpcconnection.json", "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1347,6 +1352,8 @@ "aws-organizations-organizationalunit.json", "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", + "aws-pcaconnectorscep-challenge.json", + "aws-pcaconnectorscep-connector.json", "aws-pinpoint-apnschannel.json", "aws-pinpoint-apnssandboxchannel.json", "aws-pinpoint-apnsvoipchannel.json", @@ -1401,6 +1408,7 @@ "aws-robomaker-simulationapplication.json", "aws-robomaker-simulationapplicationversion.json", "aws-rolesanywhere-crl.json", + "aws-rolesanywhere-profile.json", "aws-rolesanywhere-trustanchor.json", "aws-route53-recordset.json", "aws-route53-recordsetgroup.json", @@ -1493,6 +1501,7 @@ "aws-signer-signingprofile.json", "aws-simspaceweaver-simulation.json", "aws-sns-subscription.json", + "aws-sns-topic.json", "aws-sns-topicpolicy.json", "aws-sqs-queue.json", "aws-sqs-queuepolicy.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-appconfig-deployment.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-appconfig-deployment.json deleted file mode 100644 index b641afb6de..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-appconfig-deployment.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyIdentifier", - "/properties/DeploymentStrategyId", - "/properties/ConfigurationVersion", - "/properties/ApplicationId", - "/properties/ConfigurationProfileId", - "/properties/Tags", - "/properties/EnvironmentId", - "/properties/Description", - "/properties/DynamicExtensionParameters" - ], - "definitions": { - "DynamicExtensionParameters": { - "additionalProperties": false, - "properties": { - "ExtensionReference": { - "type": "string" - }, - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "pattern": "(^[a-z0-9]{4,7}$|^AppConfig\\.[A-Za-z0-9]{9,40}$)", - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamicExtensionParameters": { - "items": { - "$ref": "#/definitions/DynamicExtensionParameters" - }, - "type": "array", - "uniqueItems": false - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Id": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DeploymentStrategyId", - "ConfigurationProfileId", - "EnvironmentId", - "ConfigurationVersion", - "ApplicationId" - ], - "typeName": "AWS::AppConfig::Deployment" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-datasource.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-datasource.json deleted file mode 100644 index 6e4538a89f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-datasource.json +++ /dev/null @@ -1,822 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KnowledgeBaseId", - "/properties/VectorIngestionConfiguration/ChunkingConfiguration", - "/properties/VectorIngestionConfiguration/ParsingConfiguration", - "/properties/DataSourceConfiguration/Type" - ], - "definitions": { - "BedrockDataAutomationConfiguration": { - "additionalProperties": false, - "properties": { - "ParsingModality": { - "$ref": "#/definitions/ParsingModality" - } - }, - "type": "object" - }, - "BedrockFoundationModelConfiguration": { - "additionalProperties": false, - "properties": { - "ModelArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$", - "type": "string" - }, - "ParsingModality": { - "$ref": "#/definitions/ParsingModality" - }, - "ParsingPrompt": { - "$ref": "#/definitions/ParsingPrompt" - } - }, - "required": [ - "ModelArn" - ], - "type": "object" - }, - "ChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "ChunkingStrategy": { - "$ref": "#/definitions/ChunkingStrategy" - }, - "FixedSizeChunkingConfiguration": { - "$ref": "#/definitions/FixedSizeChunkingConfiguration" - }, - "HierarchicalChunkingConfiguration": { - "$ref": "#/definitions/HierarchicalChunkingConfiguration" - }, - "SemanticChunkingConfiguration": { - "$ref": "#/definitions/SemanticChunkingConfiguration" - } - }, - "required": [ - "ChunkingStrategy" - ], - "type": "object" - }, - "ChunkingStrategy": { - "enum": [ - "FIXED_SIZE", - "NONE", - "HIERARCHICAL", - "SEMANTIC" - ], - "type": "string" - }, - "ConfluenceCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "FilterConfiguration": { - "$ref": "#/definitions/CrawlFilterConfiguration" - } - }, - "type": "object" - }, - "ConfluenceDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/ConfluenceCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/ConfluenceSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "ConfluenceSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthType": { - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS" - ], - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "HostType": { - "enum": [ - "SAAS" - ], - "type": "string" - }, - "HostUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://[A-Za-z0-9][^\\s]*$", - "type": "string" - } - }, - "required": [ - "HostUrl", - "HostType", - "AuthType", - "CredentialsSecretArn" - ], - "type": "object" - }, - "CrawlFilterConfiguration": { - "additionalProperties": false, - "properties": { - "PatternObjectFilter": { - "$ref": "#/definitions/PatternObjectFilterConfiguration" - }, - "Type": { - "enum": [ - "PATTERN" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "CustomTransformationConfiguration": { - "additionalProperties": false, - "properties": { - "IntermediateStorage": { - "$ref": "#/definitions/IntermediateStorage" - }, - "Transformations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Transformation" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "IntermediateStorage", - "Transformations" - ], - "type": "object" - }, - "DataDeletionPolicy": { - "enum": [ - "RETAIN", - "DELETE" - ], - "type": "string" - }, - "DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "ConfluenceConfiguration": { - "$ref": "#/definitions/ConfluenceDataSourceConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/SalesforceDataSourceConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/SharePointDataSourceConfiguration" - }, - "Type": { - "$ref": "#/definitions/DataSourceType" - }, - "WebConfiguration": { - "$ref": "#/definitions/WebDataSourceConfiguration" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "DataSourceStatus": { - "enum": [ - "AVAILABLE", - "DELETING", - "DELETE_UNSUCCESSFUL" - ], - "type": "string" - }, - "DataSourceType": { - "enum": [ - "S3", - "CONFLUENCE", - "SALESFORCE", - "SHAREPOINT", - "WEB", - "CUSTOM" - ], - "type": "string" - }, - "FilterList": { - "insertionOrder": false, - "items": { - "maxLength": 1000, - "type": "string" - }, - "maxItems": 25, - "minItems": 1, - "type": "array" - }, - "FixedSizeChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTokens": { - "minimum": 1, - "type": "integer" - }, - "OverlapPercentage": { - "maximum": 99, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "MaxTokens", - "OverlapPercentage" - ], - "type": "object" - }, - "HierarchicalChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "LevelConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HierarchicalChunkingLevelConfiguration" - }, - "maxItems": 2, - "minItems": 2, - "type": "array" - }, - "OverlapTokens": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "LevelConfigurations", - "OverlapTokens" - ], - "type": "object" - }, - "HierarchicalChunkingLevelConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTokens": { - "maximum": 8192, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "MaxTokens" - ], - "type": "object" - }, - "IntermediateStorage": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/S3Location" - } - }, - "required": [ - "S3Location" - ], - "type": "object" - }, - "ParsingConfiguration": { - "additionalProperties": false, - "properties": { - "BedrockDataAutomationConfiguration": { - "$ref": "#/definitions/BedrockDataAutomationConfiguration" - }, - "BedrockFoundationModelConfiguration": { - "$ref": "#/definitions/BedrockFoundationModelConfiguration" - }, - "ParsingStrategy": { - "$ref": "#/definitions/ParsingStrategy" - } - }, - "required": [ - "ParsingStrategy" - ], - "type": "object" - }, - "ParsingModality": { - "enum": [ - "MULTIMODAL" - ], - "type": "string" - }, - "ParsingPrompt": { - "additionalProperties": false, - "properties": { - "ParsingPromptText": { - "maxLength": 10000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ParsingPromptText" - ], - "type": "object" - }, - "ParsingStrategy": { - "enum": [ - "BEDROCK_FOUNDATION_MODEL", - "BEDROCK_DATA_AUTOMATION" - ], - "type": "string" - }, - "PatternObjectFilter": { - "additionalProperties": false, - "properties": { - "ExclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "InclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "ObjectType": { - "maxLength": 50, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ObjectType" - ], - "type": "object" - }, - "PatternObjectFilterConfiguration": { - "additionalProperties": false, - "properties": { - "Filters": { - "$ref": "#/definitions/PatternObjectFilterList" - } - }, - "required": [ - "Filters" - ], - "type": "object" - }, - "PatternObjectFilterList": { - "items": { - "$ref": "#/definitions/PatternObjectFilter" - }, - "maxItems": 25, - "minItems": 1, - "type": "array" - }, - "S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(|-cn|-us-gov):s3:::[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$", - "type": "string" - }, - "BucketOwnerAccountId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "InclusionPrefixes": { - "insertionOrder": false, - "items": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "BucketArn" - ], - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "URI": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^s3://.{1,128}$", - "type": "string" - } - }, - "required": [ - "URI" - ], - "type": "object" - }, - "SalesforceCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "FilterConfiguration": { - "$ref": "#/definitions/CrawlFilterConfiguration" - } - }, - "type": "object" - }, - "SalesforceDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/SalesforceCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/SalesforceSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "SalesforceSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthType": { - "enum": [ - "OAUTH2_CLIENT_CREDENTIALS" - ], - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "HostUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://[A-Za-z0-9][^\\s]*$", - "type": "string" - } - }, - "required": [ - "HostUrl", - "AuthType", - "CredentialsSecretArn" - ], - "type": "object" - }, - "SeedUrl": { - "additionalProperties": false, - "properties": { - "Url": { - "pattern": "^https?://[A-Za-z0-9][^\\s]*$", - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "SeedUrls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SeedUrl" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "SemanticChunkingConfiguration": { - "additionalProperties": false, - "properties": { - "BreakpointPercentileThreshold": { - "maximum": 99, - "minimum": 50, - "type": "integer" - }, - "BufferSize": { - "maximum": 1, - "minimum": 0, - "type": "integer" - }, - "MaxTokens": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "BreakpointPercentileThreshold", - "BufferSize", - "MaxTokens" - ], - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", - "type": "string" - } - }, - "type": "object" - }, - "SharePointCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "FilterConfiguration": { - "$ref": "#/definitions/CrawlFilterConfiguration" - } - }, - "type": "object" - }, - "SharePointDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/SharePointCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/SharePointSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "SharePointSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthType": { - "enum": [ - "OAUTH2_CLIENT_CREDENTIALS" - ], - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "Domain": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "HostType": { - "enum": [ - "ONLINE" - ], - "type": "string" - }, - "SiteUrls": { - "insertionOrder": false, - "items": { - "pattern": "^https://[A-Za-z0-9][^\\s]*$", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "TenantId": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "required": [ - "Domain", - "SiteUrls", - "HostType", - "AuthType", - "CredentialsSecretArn" - ], - "type": "object" - }, - "Transformation": { - "additionalProperties": false, - "properties": { - "StepToApply": { - "enum": [ - "POST_CHUNKING" - ], - "type": "string" - }, - "TransformationFunction": { - "$ref": "#/definitions/TransformationFunction" - } - }, - "required": [ - "StepToApply", - "TransformationFunction" - ], - "type": "object" - }, - "TransformationFunction": { - "additionalProperties": false, - "properties": { - "TransformationLambdaConfiguration": { - "$ref": "#/definitions/TransformationLambdaConfiguration" - } - }, - "required": [ - "TransformationLambdaConfiguration" - ], - "type": "object" - }, - "TransformationLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", - "type": "string" - } - }, - "required": [ - "LambdaArn" - ], - "type": "object" - }, - "UrlConfiguration": { - "additionalProperties": false, - "properties": { - "SeedUrls": { - "$ref": "#/definitions/SeedUrls" - } - }, - "required": [ - "SeedUrls" - ], - "type": "object" - }, - "VectorIngestionConfiguration": { - "additionalProperties": false, - "properties": { - "ChunkingConfiguration": { - "$ref": "#/definitions/ChunkingConfiguration" - }, - "CustomTransformationConfiguration": { - "$ref": "#/definitions/CustomTransformationConfiguration" - }, - "ParsingConfiguration": { - "$ref": "#/definitions/ParsingConfiguration" - } - }, - "type": "object" - }, - "WebCrawlerConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerLimits": { - "$ref": "#/definitions/WebCrawlerLimits" - }, - "ExclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "InclusionFilters": { - "$ref": "#/definitions/FilterList" - }, - "Scope": { - "$ref": "#/definitions/WebScopeType" - } - }, - "type": "object" - }, - "WebCrawlerLimits": { - "additionalProperties": false, - "properties": { - "RateLimit": { - "maximum": 300, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "WebDataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlerConfiguration": { - "$ref": "#/definitions/WebCrawlerConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/WebSourceConfiguration" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "WebScopeType": { - "enum": [ - "HOST_ONLY", - "SUBDOMAINS" - ], - "type": "string" - }, - "WebSourceConfiguration": { - "additionalProperties": false, - "properties": { - "UrlConfiguration": { - "$ref": "#/definitions/UrlConfiguration" - } - }, - "required": [ - "UrlConfiguration" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KnowledgeBaseId", - "/properties/DataSourceId" - ], - "properties": { - "CreatedAt": { - "type": "string" - }, - "DataDeletionPolicy": { - "$ref": "#/definitions/DataDeletionPolicy" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/DataSourceConfiguration" - }, - "DataSourceId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "DataSourceStatus": { - "$ref": "#/definitions/DataSourceStatus" - }, - "Description": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "FailureReasons": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "type": "string" - }, - "maxItems": 2048, - "type": "array" - }, - "KnowledgeBaseId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "UpdatedAt": { - "type": "string" - }, - "VectorIngestionConfiguration": { - "$ref": "#/definitions/VectorIngestionConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/DataSourceId", - "/properties/DataSourceStatus", - "/properties/CreatedAt", - "/properties/UpdatedAt", - "/properties/FailureReasons" - ], - "required": [ - "DataSourceConfiguration", - "Name", - "KnowledgeBaseId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-aps", - "tagging": { - "cloudFormationSystemTags": false, - "taggable": false - }, - "typeName": "AWS::Bedrock::DataSource" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-knowledgebase.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-knowledgebase.json deleted file mode 100644 index f1521868a0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-bedrock-knowledgebase.json +++ /dev/null @@ -1,594 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/StorageConfiguration", - "/properties/KnowledgeBaseConfiguration" - ], - "definitions": { - "BedrockEmbeddingModelConfiguration": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "maximum": 4096, - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "EmbeddingModelConfiguration": { - "additionalProperties": false, - "properties": { - "BedrockEmbeddingModelConfiguration": { - "$ref": "#/definitions/BedrockEmbeddingModelConfiguration" - } - }, - "type": "object" - }, - "KendraIndexArn": { - "pattern": "^arn:aws(|-cn|-us-gov):kendra:[a-z0-9-]{1,20}:([0-9]{12}|):index/([a-zA-Z0-9][a-zA-Z0-9-]{35}|[a-zA-Z0-9][a-zA-Z0-9-]{35}-[a-zA-Z0-9][a-zA-Z0-9-]{35})$", - "type": "string" - }, - "KendraKnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "KendraIndexArn": { - "$ref": "#/definitions/KendraIndexArn" - } - }, - "required": [ - "KendraIndexArn" - ], - "type": "object" - }, - "KnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "KendraKnowledgeBaseConfiguration": { - "$ref": "#/definitions/KendraKnowledgeBaseConfiguration" - }, - "Type": { - "$ref": "#/definitions/KnowledgeBaseType" - }, - "VectorKnowledgeBaseConfiguration": { - "$ref": "#/definitions/VectorKnowledgeBaseConfiguration" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "KnowledgeBaseStatus": { - "enum": [ - "CREATING", - "ACTIVE", - "DELETING", - "UPDATING", - "FAILED", - "DELETE_UNSUCCESSFUL" - ], - "type": "string" - }, - "KnowledgeBaseStorageType": { - "enum": [ - "OPENSEARCH_SERVERLESS", - "PINECONE", - "RDS", - "MONGO_DB_ATLAS" - ], - "type": "string" - }, - "KnowledgeBaseType": { - "enum": [ - "VECTOR", - "KENDRA" - ], - "type": "string" - }, - "MongoDbAtlasConfiguration": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "maxLength": 63, - "pattern": "^.*$", - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "DatabaseName": { - "maxLength": 63, - "pattern": "^.*$", - "type": "string" - }, - "Endpoint": { - "maxLength": 2048, - "pattern": "^[a-zA-Z0-9_-]+\\.[a-zA-Z0-9_-]+\\.mongodb\\.net$", - "type": "string" - }, - "EndpointServiceName": { - "maxLength": 255, - "pattern": "^(?:arn:aws(?:-us-gov|-cn|-iso|-iso-[a-z])*:.+:.*:\\d+:.+/.+$|[a-zA-Z0-9*]+[a-zA-Z0-9._-]*)$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/MongoDbAtlasFieldMapping" - }, - "VectorIndexName": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "Endpoint", - "CredentialsSecretArn", - "DatabaseName", - "CollectionName", - "VectorIndexName", - "FieldMapping" - ], - "type": "object" - }, - "MongoDbAtlasFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "VectorField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "VectorField", - "MetadataField", - "TextField" - ], - "type": "object" - }, - "OpenSearchServerlessConfiguration": { - "additionalProperties": false, - "properties": { - "CollectionArn": { - "maxLength": 2048, - "pattern": "^arn:aws(|-cn|-us-gov|-iso):aoss:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:collection/[a-z0-9-]{3,32}$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/OpenSearchServerlessFieldMapping" - }, - "VectorIndexName": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "CollectionArn", - "FieldMapping", - "VectorIndexName" - ], - "type": "object" - }, - "OpenSearchServerlessFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "VectorField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "TextField", - "VectorField" - ], - "type": "object" - }, - "PineconeConfiguration": { - "additionalProperties": false, - "properties": { - "ConnectionString": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/PineconeFieldMapping" - }, - "Namespace": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "ConnectionString", - "CredentialsSecretArn", - "FieldMapping" - ], - "type": "object" - }, - "PineconeFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "TextField" - ], - "type": "object" - }, - "RdsConfiguration": { - "additionalProperties": false, - "properties": { - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "DatabaseName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/RdsFieldMapping" - }, - "ResourceArn": { - "pattern": "^arn:aws(|-cn|-us-gov):rds:[a-zA-Z0-9-]*:[0-9]{12}:cluster:[a-zA-Z0-9-]{1,63}$", - "type": "string" - }, - "TableName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\.\\-]+$", - "type": "string" - } - }, - "required": [ - "CredentialsSecretArn", - "DatabaseName", - "FieldMapping", - "ResourceArn", - "TableName" - ], - "type": "object" - }, - "RdsFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "PrimaryKeyField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "TextField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - }, - "VectorField": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9_\\-]+$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "PrimaryKeyField", - "TextField", - "VectorField" - ], - "type": "object" - }, - "RedisEnterpriseCloudConfiguration": { - "additionalProperties": false, - "properties": { - "CredentialsSecretArn": { - "pattern": "^arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}$", - "type": "string" - }, - "Endpoint": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "FieldMapping": { - "$ref": "#/definitions/RedisEnterpriseCloudFieldMapping" - }, - "VectorIndexName": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "CredentialsSecretArn", - "Endpoint", - "FieldMapping", - "VectorIndexName" - ], - "type": "object" - }, - "RedisEnterpriseCloudFieldMapping": { - "additionalProperties": false, - "properties": { - "MetadataField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "TextField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - }, - "VectorField": { - "maxLength": 2048, - "pattern": "^.*$", - "type": "string" - } - }, - "required": [ - "MetadataField", - "TextField", - "VectorField" - ], - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "URI": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^s3://.{1,128}$", - "type": "string" - } - }, - "required": [ - "URI" - ], - "type": "object" - }, - "StorageConfiguration": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "OpensearchServerlessConfiguration" - ] - }, - { - "required": [ - "PineconeConfiguration" - ] - }, - { - "required": [ - "RdsConfiguration" - ] - }, - { - "required": [ - "MongoDbAtlasConfiguration" - ] - } - ], - "properties": { - "MongoDbAtlasConfiguration": { - "$ref": "#/definitions/MongoDbAtlasConfiguration" - }, - "OpensearchServerlessConfiguration": { - "$ref": "#/definitions/OpenSearchServerlessConfiguration" - }, - "PineconeConfiguration": { - "$ref": "#/definitions/PineconeConfiguration" - }, - "RdsConfiguration": { - "$ref": "#/definitions/RdsConfiguration" - }, - "Type": { - "$ref": "#/definitions/KnowledgeBaseStorageType" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "SupplementalDataStorageConfiguration": { - "additionalProperties": false, - "properties": { - "SupplementalDataStorageLocations": { - "$ref": "#/definitions/SupplementalDataStorageLocations" - } - }, - "required": [ - "SupplementalDataStorageLocations" - ], - "type": "object" - }, - "SupplementalDataStorageLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/S3Location" - }, - "SupplementalDataStorageLocationType": { - "$ref": "#/definitions/SupplementalDataStorageLocationType" - } - }, - "required": [ - "SupplementalDataStorageLocationType" - ], - "type": "object" - }, - "SupplementalDataStorageLocationType": { - "enum": [ - "S3" - ], - "type": "string" - }, - "SupplementalDataStorageLocations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SupplementalDataStorageLocation" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "TagsMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9\\s._:/=+@-]*$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", - "type": "string" - } - }, - "type": "object" - }, - "VectorKnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "EmbeddingModelArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^(arn:aws(-[^:]+)?:[a-z0-9-]+:[a-z0-9-]{1,20}:[0-9]{0,12}:[a-zA-Z0-9-:/._+]+)$", - "type": "string" - }, - "EmbeddingModelConfiguration": { - "$ref": "#/definitions/EmbeddingModelConfiguration" - }, - "SupplementalDataStorageConfiguration": { - "$ref": "#/definitions/SupplementalDataStorageConfiguration" - } - }, - "required": [ - "EmbeddingModelArn" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KnowledgeBaseId" - ], - "properties": { - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "FailureReasons": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "type": "string" - }, - "maxItems": 2048, - "type": "array" - }, - "KnowledgeBaseArn": { - "maxLength": 128, - "minLength": 0, - "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-zA-Z0-9-]*:[0-9]{12}:knowledge-base/[0-9a-zA-Z]+$", - "type": "string" - }, - "KnowledgeBaseConfiguration": { - "$ref": "#/definitions/KnowledgeBaseConfiguration" - }, - "KnowledgeBaseId": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "Name": { - "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", - "type": "string" - }, - "RoleArn": { - "maxLength": 2048, - "pattern": "^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/KnowledgeBaseStatus" - }, - "StorageConfiguration": { - "$ref": "#/definitions/StorageConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagsMap" - }, - "UpdatedAt": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/KnowledgeBaseId", - "/properties/KnowledgeBaseArn", - "/properties/CreatedAt", - "/properties/UpdatedAt", - "/properties/FailureReasons", - "/properties/Status" - ], - "required": [ - "KnowledgeBaseConfiguration", - "Name", - "RoleArn" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Bedrock::KnowledgeBase" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json deleted file mode 100644 index 55ce6660fe..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/OutpostConfig", - "/properties/EncryptionConfig", - "/properties/KubernetesNetworkConfig", - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/Name", - "/properties/RoleArn", - "/properties/BootstrapSelfManagedAddons", - "/properties/RemoteNetworkConfig" - ], - "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" - }, - "ComputeConfig": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "NodePools": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "NodeRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "ControlPlanePlacement": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - } - }, - "type": "object" - }, - "ElasticLoadBalancing": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "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": { - "ElasticLoadBalancing": { - "$ref": "#/definitions/ElasticLoadBalancing" - }, - "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" - }, - "RemoteNetworkConfig": { - "additionalProperties": false, - "properties": { - "RemoteNodeNetworks": { - "$ref": "#/definitions/RemoteNodeNetworks" - }, - "RemotePodNetworks": { - "$ref": "#/definitions/RemotePodNetworks" - } - }, - "required": [ - "RemoteNodeNetworks" - ], - "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" - }, - "StorageConfig": { - "additionalProperties": false, - "properties": { - "BlockStorage": { - "$ref": "#/definitions/BlockStorage" - } - }, - "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" - }, - "ComputeConfig": { - "$ref": "#/definitions/ComputeConfig" - }, - "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" - }, - "RemoteNetworkConfig": { - "$ref": "#/definitions/RemoteNetworkConfig" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "StorageConfig": { - "$ref": "#/definitions/StorageConfig" - }, - "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/us_gov_west_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rolesanywhere-profile.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rolesanywhere-profile.json deleted file mode 100644 index 5fc10bd3dd..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rolesanywhere-profile.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AttributeMapping": { - "additionalProperties": false, - "properties": { - "CertificateField": { - "$ref": "#/definitions/CertificateField" - }, - "MappingRules": { - "items": { - "$ref": "#/definitions/MappingRule" - }, - "type": "array" - } - }, - "required": [ - "CertificateField", - "MappingRules" - ], - "type": "object" - }, - "CertificateField": { - "enum": [ - "x509Subject", - "x509Issuer", - "x509SAN" - ], - "type": "string" - }, - "MappingRule": { - "additionalProperties": false, - "properties": { - "Specifier": { - "type": "string" - } - }, - "required": [ - "Specifier" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[ a-zA-Z0-9_.:/=+@-]*$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[ a-zA-Z0-9_.:/=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ProfileId" - ], - "properties": { - "AcceptRoleSessionName": { - "type": "boolean" - }, - "AttributeMappings": { - "items": { - "$ref": "#/definitions/AttributeMapping" - }, - "type": "array" - }, - "DurationSeconds": { - "maximum": 43200, - "minimum": 900, - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "pattern": "^[ a-zA-Z0-9-_]*$", - "type": "string" - }, - "ProfileArn": { - "type": "string" - }, - "ProfileId": { - "pattern": "[a-f0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}", - "type": "string" - }, - "RequireInstanceProperties": { - "type": "boolean" - }, - "RoleArns": { - "items": { - "maxLength": 1011, - "minLength": 1, - "pattern": "^arn:aws(-[^:]+)?:iam(:.*){2}(:role.*)$", - "type": "string" - }, - "type": "array" - }, - "SessionPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ProfileId", - "/properties/ProfileArn" - ], - "required": [ - "Name", - "RoleArns" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::RolesAnywhere::Profile" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sns-topic.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sns-topic.json deleted file mode 100644 index 06629e2b4a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sns-topic.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "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, - "pattern": "^[a-zA-Z0-9-_]+(\\.fifo)?$", - "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/us_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py index 7cc32ea16b..d8c21ff1a9 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -1370,6 +1370,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -1553,7 +1554,6 @@ "aws-mediaconnect-bridge.json", "aws-mediaconnect-bridgeoutput.json", "aws-mediaconnect-bridgesource.json", - "aws-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", "aws-mediaconnect-flowsource.json", @@ -1588,7 +1588,6 @@ "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", - "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -1718,7 +1717,6 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1740,7 +1738,6 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flow.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flow.json new file mode 100644 index 0000000000..ddfebe3e19 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flow.json @@ -0,0 +1,609 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/AvailabilityZone", + "/properties/Source/Name" + ], + "definitions": { + "AudioMonitoringSetting": { + "additionalProperties": false, + "properties": { + "SilentAudio": { + "$ref": "#/definitions/SilentAudio" + } + }, + "type": "object" + }, + "BlackFrames": { + "additionalProperties": false, + "properties": { + "State": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ThresholdSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "enum": [ + "aes128", + "aes192", + "aes256" + ], + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "default": "static-key", + "enum": [ + "speke", + "static-key", + "srt-password" + ], + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "enum": [ + "MERGE", + "FAILOVER" + ], + "type": "string" + }, + "RecoveryWindow": { + "type": "integer" + }, + "SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "State": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + } + }, + "type": "object" + }, + "Fmtp": { + "additionalProperties": false, + "properties": { + "ChannelOrder": { + "type": "string" + }, + "Colorimetry": { + "enum": [ + "BT601", + "BT709", + "BT2020", + "BT2100", + "ST2065-1", + "ST2065-3", + "XYZ" + ], + "type": "string" + }, + "ExactFramerate": { + "type": "string" + }, + "Par": { + "type": "string" + }, + "Range": { + "enum": [ + "NARROW", + "FULL", + "FULLPROTECT" + ], + "type": "string" + }, + "ScanMode": { + "enum": [ + "progressive", + "interlace", + "progressive-segmented-frame" + ], + "type": "string" + }, + "Tcs": { + "enum": [ + "SDR", + "PQ", + "HLG", + "LINEAR", + "BT2100LINPQ", + "BT2100LINHLG", + "ST2065-1", + "ST428-1", + "DENSITY" + ], + "type": "string" + } + }, + "type": "object" + }, + "FrozenFrames": { + "additionalProperties": false, + "properties": { + "State": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ThresholdSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "InputConfiguration": { + "additionalProperties": false, + "properties": { + "InputPort": { + "type": "integer" + }, + "Interface": { + "$ref": "#/definitions/Interface" + } + }, + "required": [ + "InputPort", + "Interface" + ], + "type": "object" + }, + "Interface": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Maintenance": { + "additionalProperties": false, + "properties": { + "MaintenanceDay": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "MaintenanceStartHour": { + "type": "string" + } + }, + "required": [ + "MaintenanceDay", + "MaintenanceStartHour" + ], + "type": "object" + }, + "MediaStream": { + "additionalProperties": false, + "properties": { + "Attributes": { + "$ref": "#/definitions/MediaStreamAttributes" + }, + "ClockRate": { + "type": "integer" + }, + "Description": { + "type": "string" + }, + "Fmt": { + "type": "integer" + }, + "MediaStreamId": { + "type": "integer" + }, + "MediaStreamName": { + "type": "string" + }, + "MediaStreamType": { + "enum": [ + "video", + "audio", + "ancillary-data" + ], + "type": "string" + }, + "VideoFormat": { + "enum": [ + "2160p", + "1080p", + "1080i", + "720p", + "480p" + ], + "type": "string" + } + }, + "required": [ + "MediaStreamId", + "MediaStreamType", + "MediaStreamName" + ], + "type": "object" + }, + "MediaStreamAttributes": { + "additionalProperties": false, + "properties": { + "Fmtp": { + "$ref": "#/definitions/Fmtp" + }, + "Lang": { + "type": "string" + } + }, + "type": "object" + }, + "MediaStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingName": { + "enum": [ + "jxsv", + "raw", + "smpte291", + "pcm" + ], + "type": "string" + }, + "InputConfigurations": { + "items": { + "$ref": "#/definitions/InputConfiguration" + }, + "type": "array" + }, + "MediaStreamName": { + "type": "string" + } + }, + "required": [ + "EncodingName", + "MediaStreamName" + ], + "type": "object" + }, + "SilentAudio": { + "additionalProperties": false, + "properties": { + "State": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ThresholdSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "GatewayBridgeSource": { + "$ref": "#/definitions/GatewayBridgeSource" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "integer" + }, + "MaxBitrate": { + "type": "integer" + }, + "MaxLatency": { + "type": "integer" + }, + "MaxSyncBuffer": { + "type": "integer" + }, + "MediaStreamSourceConfigurations": { + "items": { + "$ref": "#/definitions/MediaStreamSourceConfiguration" + }, + "type": "array" + }, + "MinLatency": { + "type": "integer" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "enum": [ + "zixi-push", + "rtp-fec", + "rtp", + "rist", + "fujitsu-qos", + "srt-listener", + "srt-caller", + "st2110-jpegxs", + "cdi" + ], + "type": "string" + }, + "SenderControlPort": { + "type": "integer" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "integer" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "SourceMonitoringConfig": { + "additionalProperties": false, + "properties": { + "AudioMonitoringSettings": { + "items": { + "$ref": "#/definitions/AudioMonitoringSetting" + }, + "type": "array" + }, + "ContentQualityAnalysisState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ThumbnailState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VideoMonitoringSettings": { + "items": { + "$ref": "#/definitions/VideoMonitoringSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoMonitoringSetting": { + "additionalProperties": false, + "properties": { + "BlackFrames": { + "$ref": "#/definitions/BlackFrames" + }, + "FrozenFrames": { + "$ref": "#/definitions/FrozenFrames" + } + }, + "type": "object" + }, + "VpcInterface": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "NetworkInterfaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkInterfaceType": { + "enum": [ + "ena", + "efa" + ], + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FlowArn" + ], + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EgressIp": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "FlowAvailabilityZone": { + "type": "string" + }, + "Maintenance": { + "$ref": "#/definitions/Maintenance" + }, + "MediaStreams": { + "items": { + "$ref": "#/definitions/MediaStream" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/FailoverConfig" + }, + "SourceMonitoringConfig": { + "$ref": "#/definitions/SourceMonitoringConfig" + }, + "VpcInterfaces": { + "items": { + "$ref": "#/definitions/VpcInterface" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/FlowArn", + "/properties/FlowAvailabilityZone", + "/properties/Source/SourceArn", + "/properties/Source/IngestIp", + "/properties/Source/SourceIngestPort", + "/properties/VpcInterfaces/*/NetworkInterfaceIds", + "/properties/MediaStreams/*/Fmt", + "/properties/EgressIp" + ], + "required": [ + "Name", + "Source" + ], + "resourceLink": { + "mappings": { + "flowArn": "/FlowArn" + }, + "templateUri": "/mediaconnect/home?region=${awsRegion}#/flows/${flowArn}" + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git", + "typeName": "AWS::MediaConnect::Flow" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-networkfirewall-firewall.json new file mode 100644 index 0000000000..9c49b419c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-networkfirewall-firewall.json @@ -0,0 +1,147 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/FirewallName" + ], + "definitions": { + "EndpointId": { + "type": "string" + }, + "ResourceArn": { + "maxLength": 256, + "minLength": 1, + "pattern": "^arn:aws.*$", + "type": "string" + }, + "SubnetMapping": { + "additionalProperties": false, + "properties": { + "IPAddressType": { + "enum": [ + "DUALSTACK", + "IPV4", + "IPV6" + ], + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FirewallArn" + ], + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "maxLength": 512, + "pattern": "^.*$", + "type": "string" + }, + "EndpointIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EndpointId" + }, + "type": "array" + }, + "FirewallArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", + "type": "string" + }, + "FirewallName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "FirewallPolicyArn": { + "$ref": "#/definitions/ResourceArn" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 128, + "minLength": 1, + "pattern": "^vpc-[0-9a-f]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FirewallArn", + "/properties/FirewallId", + "/properties/EndpointIds" + ], + "required": [ + "FirewallName", + "FirewallPolicyArn", + "VpcId", + "SubnetMappings" + ], + "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::Firewall" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/RStudioServerProDomainSettings" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId" + ], + "properties": { + "AppNetworkAccessType": { + "enum": [ + "PublicInternetOnly", + "VpcOnly" + ], + "type": "string" + }, + "AppSecurityGroupManagement": { + "enum": [ + "Service", + "Customer" + ], + "type": "string" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/UserSettings" + }, + "DomainArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", + "type": "string" + }, + "DomainId": { + "maxLength": 63, + "pattern": "^d-(-*[a-z0-9])+", + "type": "string" + }, + "DomainName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/DomainSettings" + }, + "HomeEfsFileSystemId": { + "maxLength": 32, + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "SecurityGroupIdForDomainBoundary": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "SingleSignOnApplicationArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", + "type": "string" + }, + "SingleSignOnManagedApplicationInstanceId": { + "maxLength": 256, + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": false + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py index 5a5be4479b..60a9d77753 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -642,6 +642,7 @@ "AWS::GuardDuty::MalwareProtectionPlan", "AWS::GuardDuty::Master", "AWS::GuardDuty::Member", + "AWS::GuardDuty::PublishingDestination", "AWS::GuardDuty::ThreatIntelSet", "AWS::HealthImaging::Datastore", "AWS::HealthLake::FHIRDatastore", @@ -1643,6 +1644,7 @@ "aws-connect-prompt.json", "aws-connect-queue.json", "aws-connect-quickconnect.json", + "aws-connect-routingprofile.json", "aws-connect-rule.json", "aws-connect-securitykey.json", "aws-connect-securityprofile.json", @@ -1886,6 +1888,7 @@ "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", "aws-entityresolution-idnamespace.json", "aws-entityresolution-matchingworkflow.json", @@ -2180,9 +2183,7 @@ "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", - "aws-m2-application.json", "aws-m2-deployment.json", - "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -2252,6 +2253,7 @@ "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", "aws-neptunegraph-privategraphendpoint.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", @@ -2434,7 +2436,6 @@ "aws-route53-recordsetgroup.json", "aws-route53profiles-profile.json", "aws-route53profiles-profileassociation.json", - "aws-route53profiles-profileresourceassociation.json", "aws-route53recoverycontrol-cluster.json", "aws-route53recoverycontrol-controlpanel.json", "aws-route53recoverycontrol-routingcontrol.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-routingprofile.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-routingprofile.json deleted file mode 100644 index 10e3414bca..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-routingprofile.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "BehaviorType": { - "enum": [ - "ROUTE_CURRENT_CHANNEL_ONLY", - "ROUTE_ANY_CHANNEL" - ], - "type": "string" - }, - "Channel": { - "enum": [ - "VOICE", - "CHAT", - "TASK" - ], - "type": "string" - }, - "Concurrency": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "CrossChannelBehavior": { - "additionalProperties": false, - "properties": { - "BehaviorType": { - "$ref": "#/definitions/BehaviorType" - } - }, - "required": [ - "BehaviorType" - ], - "type": "object" - }, - "Delay": { - "maximum": 9999, - "minimum": 0, - "type": "integer" - }, - "MediaConcurrency": { - "additionalProperties": false, - "properties": { - "Channel": { - "$ref": "#/definitions/Channel" - }, - "Concurrency": { - "$ref": "#/definitions/Concurrency" - }, - "CrossChannelBehavior": { - "$ref": "#/definitions/CrossChannelBehavior" - } - }, - "required": [ - "Channel", - "Concurrency" - ], - "type": "object" - }, - "Priority": { - "maximum": 99, - "minimum": 1, - "type": "integer" - }, - "QueueArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$", - "type": "string" - }, - "RoutingProfileQueueConfig": { - "additionalProperties": false, - "properties": { - "Delay": { - "$ref": "#/definitions/Delay" - }, - "Priority": { - "$ref": "#/definitions/Priority" - }, - "QueueReference": { - "$ref": "#/definitions/RoutingProfileQueueReference" - } - }, - "required": [ - "Delay", - "Priority", - "QueueReference" - ], - "type": "object" - }, - "RoutingProfileQueueReference": { - "additionalProperties": false, - "properties": { - "Channel": { - "$ref": "#/definitions/Channel" - }, - "QueueArn": { - "$ref": "#/definitions/QueueArn" - } - }, - "required": [ - "Channel", - "QueueArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/RoutingProfileArn" - ], - "properties": { - "AgentAvailabilityTimer": { - "enum": [ - "TIME_SINCE_LAST_ACTIVITY", - "TIME_SINCE_LAST_INBOUND" - ], - "type": "string" - }, - "DefaultOutboundQueueArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Description": { - "maxLength": 250, - "minLength": 1, - "type": "string" - }, - "InstanceArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", - "type": "string" - }, - "MediaConcurrencies": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MediaConcurrency" - }, - "type": "array" - }, - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "QueueConfigs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RoutingProfileQueueConfig" - }, - "minItems": 1, - "type": "array" - }, - "RoutingProfileArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/routing-profile/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/RoutingProfileArn" - ], - "required": [ - "InstanceArn", - "Name", - "Description", - "MediaConcurrencies", - "DefaultOutboundQueueArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Connect::RoutingProfile" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-emrserverless-application.json deleted file mode 100644 index 97193bce96..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-emrserverless-application.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration", - "/properties/SchedulerConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SchedulerConfiguration": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "integer" - }, - "QueueTimeoutMinutes": { - "type": "integer" - } - }, - "type": "object" - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "SchedulerConfiguration": { - "$ref": "#/definitions/SchedulerConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-publishingdestination.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-publishingdestination.json new file mode 100644 index 0000000000..c51a35ec36 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-guardduty-publishingdestination.json @@ -0,0 +1,92 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DetectorId" + ], + "definitions": { + "CFNDestinationProperties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "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/DetectorId", + "/properties/Id" + ], + "properties": { + "DestinationProperties": { + "$ref": "#/definitions/CFNDestinationProperties", + "type": "object" + }, + "DestinationType": { + "type": "string" + }, + "DetectorId": { + "maxLength": 300, + "minLength": 1, + "type": "string" + }, + "Id": { + "type": "string" + }, + "PublishingFailureStartTimestamp": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TagItem" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Status", + "/properties/PublishingFailureStartTimestamp" + ], + "required": [ + "DetectorId", + "DestinationType", + "DestinationProperties" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::GuardDuty::PublishingDestination" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-m2-application.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-m2-application.json new file mode 100644 index 0000000000..709b664fa6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-m2-application.json @@ -0,0 +1,122 @@ +{ + "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, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Application", + "writeOnlyProperties": [ + "/properties/Definition" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-m2-environment.json new file mode 100644 index 0000000000..b666c811d0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-m2-environment.json @@ -0,0 +1,215 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Description", + "/properties/EngineType", + "/properties/KmsKeyId", + "/properties/Name", + "/properties/NetworkType", + "/properties/PubliclyAccessible", + "/properties/SecurityGroupIds", + "/properties/StorageConfigurations", + "/properties/SubnetIds" + ], + "definitions": { + "EfsStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "EngineType": { + "enum": [ + "microfocus", + "bluage" + ], + "type": "string" + }, + "FsxStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "HighAvailabilityConfig": { + "additionalProperties": false, + "properties": { + "DesiredCapacity": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "DesiredCapacity" + ], + "type": "object" + }, + "NetworkType": { + "enum": [ + "ipv4", + "dual" + ], + "type": "string" + }, + "StorageConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Efs": { + "$ref": "#/definitions/EfsStorageConfiguration" + } + }, + "required": [ + "Efs" + ] + }, + { + "additionalProperties": false, + "properties": { + "Fsx": { + "$ref": "#/definitions/FsxStorageConfiguration" + } + }, + "required": [ + "Fsx" + ] + } + ], + "type": "object" + }, + "TagMap": { + "additionalProperties": false, + "maxProperties": 200, + "minProperties": 0, + "patternProperties": { + "^(?!aws:).+$": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentArn" + ], + "properties": { + "Description": { + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "EngineType": { + "$ref": "#/definitions/EngineType" + }, + "EngineVersion": { + "pattern": "^\\S{1,10}$", + "type": "string" + }, + "EnvironmentArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", + "type": "string" + }, + "EnvironmentId": { + "pattern": "^\\S{1,80}$", + "type": "string" + }, + "HighAvailabilityConfig": { + "$ref": "#/definitions/HighAvailabilityConfig" + }, + "InstanceType": { + "pattern": "^\\S{1,20}$", + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "type": "string" + }, + "Name": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", + "type": "string" + }, + "NetworkType": { + "$ref": "#/definitions/NetworkType" + }, + "PreferredMaintenanceWindow": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "StorageConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StorageConfiguration" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/TagMap" + } + }, + "readOnlyProperties": [ + "/properties/EnvironmentArn", + "/properties/EnvironmentId" + ], + "required": [ + "EngineType", + "InstanceType", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Environment" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-networkfirewall-firewall.json deleted file mode 100644 index 3fc83d352e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EnabledAnalysisType": { - "enum": [ - "TLS_SNI", - "HTTP_HOST" - ], - "type": "string" - }, - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "enum": [ - "DUALSTACK", - "IPV4", - "IPV6" - ], - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "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::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-route53profiles-profileresourceassociation.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-route53profiles-profileresourceassociation.json new file mode 100644 index 0000000000..bca3fe66cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-route53profiles-profileresourceassociation.json @@ -0,0 +1,48 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ProfileId", + "/properties/Name", + "/properties/ResourceArn" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProfileId": { + "type": "string" + }, + "ResourceArn": { + "type": "string" + }, + "ResourceProperties": { + "type": "string" + }, + "ResourceType": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/ResourceType" + ], + "required": [ + "ProfileId", + "Name", + "ResourceArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53profiles", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Route53Profiles::ProfileResourceAssociation" +}