diff --git a/docs/rules.md b/docs/rules.md index 1cf60332f6..167e163798 100644 --- a/docs/rules.md +++ b/docs/rules.md @@ -46,7 +46,7 @@ To include these rules, use the `-e/include-experimental` argument when running ## Rules (_This documentation is generated by running `cfn-lint --update-documentation`, do not alter this manually_) -The following **208** rules are applied by this linter: +The following **209** rules are applied by this linter: | Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags | | -------- | ----- | ----------- | ---------- | ------ | ---- | @@ -57,6 +57,7 @@ The following **208** rules are applied by this linter: | [E1002](../src/cfnlint/rules/templates/LimitSize.py) | Validate if a template size is too large | Check the size of the template is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `limits` | | [E1003](../src/cfnlint/rules/templates/LimitDescription.py) | Validate the max size of a description | Check if the size of the template description is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `description`,`limits` | | [E1004](../src/cfnlint/rules/templates/Description.py) | Template description can only be a string | Template description can only be a string | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html) | `description` | +| [E1005](../src/cfnlint/rules/transforms/Configuration.py) | Validate Transform configuration | Validate that the transforms section of a template is properly configured | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) | `transform` | | [E1010](../src/cfnlint/rules/functions/GetAtt.py) | GetAtt validation of parameters | Validates that GetAtt parameters are to valid resources and properties of those resources | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) | `functions`,`getatt` | | [E1011](../src/cfnlint/rules/functions/FindInMap.py) | FindInMap validation of configuration | Making sure the function is a list of appropriate config | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) | `functions`,`findinmap` | | [E1015](../src/cfnlint/rules/functions/GetAz.py) | GetAz validation of parameters | Making sure the GetAz function is properly configured | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html) | `functions`,`getaz` | diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index 7fde60a745..d28c8860ca 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -10334,6 +10334,31 @@ "aws:TagKeys" ] }, + "AWS Systems Manager Quick Setup": { + "ARNFormat": "arn:aws:ssm-quicksetup:${Region}:${Account}:${ResourceType}/${ResourceId}", + "ARNRegex": "^arn:aws:ssm-quicksetup:.+", + "Actions": [ + "CreateConfigurationManager", + "DeleteConfigurationManager", + "GetConfigurationManager", + "GetServiceSettings", + "ListConfigurationManagers", + "ListQuickSetupTypes", + "ListTagsForResource", + "TagResource", + "UntagResource", + "UpdateConfigurationDefinition", + "UpdateConfigurationManager", + "UpdateServiceSettings" + ], + "HasResource": true, + "StringPrefix": "ssm-quicksetup", + "conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ] + }, "AWS Systems Manager for SAP": { "ARNFormat": "arn:aws:ssm-sap:${Region}:${Account}:${ApplicationType}/${ApplicationId}", "ARNRegex": "^arn:aws:ssm-sap:.+", @@ -19215,12 +19240,14 @@ "ImportDocumentToQAppSession", "ListLibraryItems", "ListQApps", + "ListTagsForResource", "PredictProblemStatementFromConversation", "PredictQApp", "PredictQAppFromProblemStatement", "StartQAppSession", "StopQAppSession", "TagResource", + "UntagResource", "UpdateLibraryItem", "UpdateQApp", "UpdateQAppSession", @@ -19231,7 +19258,11 @@ "conditionKeys": [ "aws:RequestTag/${TagKey}", "aws:ResourceTag/${TagKey}", - "aws:TagKeys" + "aws:TagKeys", + "qapps:AppIsPublished", + "qapps:SessionIsShared", + "qapps:UserIsAppOwner", + "qapps:UserIsSessionModerator" ] }, "Amazon Q in Connect": { @@ -21149,6 +21180,7 @@ "CreateFeatureGroup", "CreateFlowDefinition", "CreateHub", + "CreateHubContentReference", "CreateHumanTaskUi", "CreateHyperParameterTuningJob", "CreateImage", @@ -21208,6 +21240,7 @@ "DeleteFlowDefinition", "DeleteHub", "DeleteHubContent", + "DeleteHubContentReference", "DeleteHumanLoop", "DeleteHumanTaskUi", "DeleteHyperParameterTuningJob", @@ -21240,6 +21273,7 @@ "DeleteUserProfile", "DeleteWorkforce", "DeleteWorkteam", + "DeployHubModel", "DeregisterDevices", "DescribeAction", "DescribeAlgorithm", diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index 6fbeb098b4..d8bc779aa4 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"6a9fea827ba62a4f7c6dc950b298df53\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fca661173bec87b9931105a1e4837b58\"", "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 5363a3fec7..7e7c044655 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"21d11d89e4620170bf319c86ab65cb0e\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"44b238171f54205cc3cfb468130b1dcb\"", "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 f01076be0c..7619bfa0de 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"56c19db31a7e08d717de45ef6f48d694\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ede5ced6e3f63c8716ac263c1253ffa2\"", "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 10c004adfc..45870c6603 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"e71a332cc2661b48d95bcf3b37f5cedf\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"266ac5a888eb0d4fa36f6ad3da89d212\"", "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 07050d6300..56618eace5 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"b21d60cb56c76f34ac3d3a20ec3ba88f\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fe7b465559bf503c1bf2e9f37594d316\"", "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 b7790052bd..02b001053d 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"0a7bfcb4c82179f8b896a35925491e09\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8b48f4a22265bc33d4ba083b11470dba\"", "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 3a13b738e6..6e23151226 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"bb8babaff748994c63162308f4eeadf6\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"93269c106cf5a70272d4be26c026ba24\"", "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 91e5df52df..46c433ba59 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"bc2777243a907772deacca24d0f07138\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"b33dacbecbabf16880c10c9618f34b6c\"", "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 0f4183968d..baecacf160 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"91f0978825d39a2e63edb1a4e29aed89\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fc97c86774527d69bb4d08fda348a03a\"", "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 839c4de64f..4a2d29c547 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"fc7dc016514c70a7debeccc3c56dbb09\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8f978d1d28e4fa0b444aac5992272500\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json index 878b5fc540..f6b76a4ee6 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"991196a2de6f8c6b5538c1a544b58979\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f929ea3b30173fac9985bac44bd77b24\"", "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 9b98e28775..66933b6aaf 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"395a9158b87cdc3728334073eda6165b\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bed0ddc94bdad72679213e7da587cd35\"", "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 06ff64a0db..8b45608a85 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"df91f04b90a0bf3c17a1cf6b6dfc6cf0\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"15040e079ae4ace9d75a1df351e3f835\"", "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 50c3731337..b2f13d1c59 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"7fd0faefbfc8e4a02af5ff51fed6fb76\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b9daa35828665a746f332ebd3caf985e\"", "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 4abd1ded87..ff5020a2c2 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"27374bda6245a69e30814683e62de6ec\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3a4a1a3affbbfd6f916e8d61fe0e8f64\"", "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 7310b68ac4..0a65a40e52 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"98719bf3496f55719534c6360f8346a7\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"edf94f0ce457cd9cf8d922df85e88e26\"", "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 d7ad437767..a728a64ffc 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"61b296ed6543d05a85d0ab5611cc4d3a\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fd5b3262a2eab93279c1410341eae6f0\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json index 5ad59f0e73..9f45ca2708 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"7187774c04713c1502263442a2d6ab3f\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"48733a8b1b04d6e12b31aed3da53159c\"", "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 522d873be5..9630407cc8 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"54b50841e5d209c975128bb77bb3db22\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"92e238ac08ced5b0422b40dfab897090\"", "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 9dfc362aeb..fd95b248ae 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"a64a40fa66f83f219a05b0ef7edb1bf6\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"922f8b706f46b5e7db9a5cbc9df9df6a\"", "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 b05f92dfbd..97b570f242 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"b01e9073b37eb46f5c2b281f6db771e8\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b1eca4089cb4b41bbca228e7ba7203a6\"", "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 59314be054..9fcb459168 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"2c38db24fb827eafdef16e5f48216d9e\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"eec69d7e29f6afb9919229582d711166\"", "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 c5511db1e8..710cd7ef32 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"3e5d616fe869d01f1741b56510072f71\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d85d17ae138296a39f0bfe487b5a7169\"", "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 c76df0f29b..c7b3e258b8 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"613b72638ddbe49611c6bc87d2e43df0\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"722a189b94dfa0b99d8661a6672224fc\"", "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 f6be6dce05..a8d93494ad 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"0dd1ed3ea43b33340d7d538500073843\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a7f2208e0c52c086990d0645c9dd1843\"", "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 be914b490b..b0f361996e 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"0fdf19c33931e5ba91c4015a3a4865a0\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4125643c79737b6e589dd9dbff4c28c0\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json index 9a021800c9..6e105507b9 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"a9a849e9a12e9e0c019062316ea02406\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"155aeabf0e882262893f9cfa0bd5a843\"", "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 c70bb03e66..941daab94d 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"e3846207dba9497182ae4faaad55f9e7\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3407c45be9d672535e538a0799086e02\"", "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 5e100b0f77..9fbbf5832c 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"9090d15775b8e346663a0c65d21deeab\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d75c7ef54ecd4c33f07ba72e7903cd88\"", "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 70c850a335..91de0cbaa9 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"91a94fe4c235b3ec62196d1fdf65de67\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"00e6ea9792751751ecdf06931f8d4249\"", "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 f95474576a..8c63cbfc48 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"1cf883a1462f756e4f5ada47de144441\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"453aa92bd1f52a79c25d033e4fb82926\"", "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 6d5c21ff48..fe0ebb65a0 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"1e84d5bea7764517ccbc12987e5cab4e\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cbb1e5d565d7466563fa6a58fdf084b9\"", "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 00fd48e694..67cfac3381 100644 --- a/src/cfnlint/data/Serverless/ManagedPolicies.json +++ b/src/cfnlint/data/Serverless/ManagedPolicies.json @@ -887,6 +887,7 @@ "AmazonPrometheusQueryAccess": "arn:aws:iam::aws:policy/AmazonPrometheusQueryAccess", "AmazonPrometheusRemoteWriteAccess": "arn:aws:iam::aws:policy/AmazonPrometheusRemoteWriteAccess", "AmazonPrometheusScraperServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AmazonPrometheusScraperServiceRolePolicy", + "AmazonQDeveloperAccess": "arn:aws:iam::aws:policy/AmazonQDeveloperAccess", "AmazonQFullAccess": "arn:aws:iam::aws:policy/AmazonQFullAccess", "AmazonQLDBConsoleFullAccess": "arn:aws:iam::aws:policy/AmazonQLDBConsoleFullAccess", "AmazonQLDBFullAccess": "arn:aws:iam::aws:policy/AmazonQLDBFullAccess", diff --git a/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json index c1fa805c1b..ca9442f6f5 100644 --- a/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json @@ -241,11 +241,6 @@ }, "sa-east-1": { "enum": [ - "dax.r3.2xlarge", - "dax.r3.4xlarge", - "dax.r3.8xlarge", - "dax.r3.large", - "dax.r3.xlarge", "dax.r4.16xlarge", "dax.r4.2xlarge", "dax.r4.4xlarge", diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json index 0a7ca921e9..3d01e43500 100644 --- a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json +++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json @@ -58,6 +58,7 @@ "5.7.mysql_aurora.2.12.0", "5.7.mysql_aurora.2.12.1", "5.7.mysql_aurora.2.12.2", + "5.7.mysql_aurora.2.12.3", "8.0.mysql_aurora.3.03.0", "8.0.mysql_aurora.3.03.1", "8.0.mysql_aurora.3.03.2", diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json index 192ddc3977..f821fb6564 100644 --- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json +++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json @@ -74,6 +74,7 @@ "5.7.mysql_aurora.2.12.0", "5.7.mysql_aurora.2.12.1", "5.7.mysql_aurora.2.12.2", + "5.7.mysql_aurora.2.12.3", "8.0.mysql_aurora.3.03.0", "8.0.mysql_aurora.3.03.1", "8.0.mysql_aurora.3.03.2", @@ -282,7 +283,8 @@ "11.5.9.0.sb00039210.r1", "11.5.9.0.sb00039340.r1", "11.5.9.0.sb00040222.r1", - "11.5.9.0.sb00040226.r1" + "11.5.9.0.sb00040226.r1", + "11.5.9.0.sb00042449.r1" ] } } @@ -314,7 +316,8 @@ "11.5.9.0.sb00039210.r1", "11.5.9.0.sb00039340.r1", "11.5.9.0.sb00040222.r1", - "11.5.9.0.sb00040226.r1" + "11.5.9.0.sb00040226.r1", + "11.5.9.0.sb00042449.r1" ] } } 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 ee96112b46..cd4ae955f6 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -1520,7 +1520,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sso-instance.json similarity index 98% rename from src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sso-instance.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-sso-instance.json index bd637397ab..26c2ca063a 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sso-instance.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sso-instance.json @@ -116,7 +116,6 @@ ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", "tagging": { - "cloudFormationSystemTags": true, "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, 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 7041ba003a..b809d9895b 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -946,6 +946,7 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", + "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestarnotifications-notificationrule.json", "aws-cognito-identitypool.json", @@ -1496,7 +1497,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-codepipeline-pipeline.json deleted file mode 100644 index 925fbfe118..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-codepipeline-pipeline.json +++ /dev/null @@ -1,505 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ActionDeclaration": { - "additionalProperties": false, - "properties": { - "ActionTypeId": { - "$ref": "#/definitions/ActionTypeId" - }, - "Configuration": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/InputArtifact" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/OutputArtifact" - }, - "type": "array", - "uniqueItems": true - }, - "Region": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunOrder": { - "type": "integer" - }, - "TimeoutInMinutes": { - "type": "integer" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "enum": [ - "Approval", - "Build", - "Deploy", - "Invoke", - "Source", - "Test" - ], - "type": "string" - }, - "Owner": { - "enum": [ - "AWS", - "Custom", - "ThirdParty" - ], - "type": "string" - }, - "Provider": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Owner", - "Category", - "Version", - "Provider" - ], - "type": "object" - }, - "ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/EncryptionKey" - }, - "Location": { - "type": "string" - }, - "Type": { - "enum": [ - "S3" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Location" - ], - "type": "object" - }, - "ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/ArtifactStore" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "enum": [ - "Schedule" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Name" - ], - "type": "object" - }, - "EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type", - "Id" - ], - "type": "object" - }, - "FailureConditions": { - "additionalProperties": false, - "properties": { - "Result": { - "type": "string" - } - }, - "required": [ - "Result" - ], - "type": "object" - }, - "GitBranchFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Includes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "GitConfiguration": { - "additionalProperties": false, - "properties": { - "PullRequest": { - "items": { - "$ref": "#/definitions/GitPullRequestFilter" - }, - "type": "array", - "uniqueItems": true - }, - "Push": { - "items": { - "$ref": "#/definitions/GitPushFilter" - }, - "type": "array", - "uniqueItems": true - }, - "SourceActionName": { - "type": "string" - } - }, - "required": [ - "SourceActionName" - ], - "type": "object" - }, - "GitFilePathFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Includes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "GitPullRequestFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/GitBranchFilterCriteria" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "FilePaths": { - "$ref": "#/definitions/GitFilePathFilterCriteria" - } - }, - "type": "object" - }, - "GitPushFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/GitBranchFilterCriteria" - }, - "FilePaths": { - "$ref": "#/definitions/GitFilePathFilterCriteria" - }, - "Tags": { - "$ref": "#/definitions/GitTagFilterCriteria" - } - }, - "type": "object" - }, - "GitTagFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Includes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "OutputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "PipelineTriggerDeclaration": { - "additionalProperties": false, - "properties": { - "GitConfiguration": { - "$ref": "#/definitions/GitConfiguration" - }, - "ProviderType": { - "type": "string" - } - }, - "required": [ - "ProviderType" - ], - "type": "object" - }, - "StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/ActionDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Blockers": { - "items": { - "$ref": "#/definitions/BlockerDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "OnFailure": { - "$ref": "#/definitions/FailureConditions" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "StageName", - "Reason" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VariableDeclaration": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/ArtifactStore" - }, - "ArtifactStores": { - "items": { - "$ref": "#/definitions/ArtifactStoreMap" - }, - "type": "array", - "uniqueItems": true - }, - "DisableInboundStageTransitions": { - "items": { - "$ref": "#/definitions/StageTransition" - }, - "type": "array", - "uniqueItems": true - }, - "ExecutionMode": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PipelineType": { - "type": "string" - }, - "RestartExecutionOnUpdate": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Stages": { - "items": { - "$ref": "#/definitions/StageDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Triggers": { - "items": { - "$ref": "#/definitions/PipelineTriggerDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Variables": { - "items": { - "$ref": "#/definitions/VariableDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Version": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Version" - ], - "required": [ - "Stages", - "RoleArn" - ], - "requiredXor": [ - "ArtifactStore", - "ArtifactStores" - ], - "typeName": "AWS::CodePipeline::Pipeline" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 78e35070b8..a19a7a1c33 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -1446,6 +1446,7 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", + "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2335,7 +2336,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cognito-userpooluicustomizationattachment.json deleted file mode 100644 index ff8cea02ef..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cognito-userpooluicustomizationattachment.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/UserPoolId", - "/properties/ClientId" - ], - "handlers": { - "create": { - "permissions": [ - "cognito-idp:SetUICustomization", - "cognito-idp:GetUICustomization" - ], - "timeoutInMinutes": 2 - }, - "delete": { - "permissions": [ - "cognito-idp:SetUICustomization", - "cognito-idp:GetUICustomization" - ], - "timeoutInMinutes": 2 - }, - "read": { - "permissions": [ - "cognito-idp:GetUICustomization" - ] - }, - "update": { - "permissions": [ - "cognito-idp:SetUICustomization" - ], - "timeoutInMinutes": 2 - } - }, - "primaryIdentifier": [ - "/properties/UserPoolId", - "/properties/ClientId" - ], - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId", - "ClientId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 d0d3ff10d0..62814f0be9 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -1318,7 +1318,6 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", - "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2124,7 +2123,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cognito-userpooluicustomizationattachment.json new file mode 100644 index 0000000000..009f1aea8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,32 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ClientId", + "UserPoolId" + ], + "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 e16b6caaf0..6d2faf0181 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -1449,7 +1449,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 67447407e2..aa2adec428 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -1330,7 +1330,6 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", - "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2132,7 +2131,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cognito-userpooluicustomizationattachment.json new file mode 100644 index 0000000000..009f1aea8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,32 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ClientId", + "UserPoolId" + ], + "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 d3ce3e2f77..f938f7c0a2 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -721,6 +721,7 @@ "aws-codedeploy-application.json", "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", + "aws-codepipeline-pipeline.json", "aws-cognito-identitypool.json", "aws-cognito-identitypoolprincipaltag.json", "aws-cognito-identitypoolroleattachment.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-codepipeline-pipeline.json deleted file mode 100644 index 925fbfe118..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-codepipeline-pipeline.json +++ /dev/null @@ -1,505 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ActionDeclaration": { - "additionalProperties": false, - "properties": { - "ActionTypeId": { - "$ref": "#/definitions/ActionTypeId" - }, - "Configuration": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/InputArtifact" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/OutputArtifact" - }, - "type": "array", - "uniqueItems": true - }, - "Region": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunOrder": { - "type": "integer" - }, - "TimeoutInMinutes": { - "type": "integer" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "enum": [ - "Approval", - "Build", - "Deploy", - "Invoke", - "Source", - "Test" - ], - "type": "string" - }, - "Owner": { - "enum": [ - "AWS", - "Custom", - "ThirdParty" - ], - "type": "string" - }, - "Provider": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Owner", - "Category", - "Version", - "Provider" - ], - "type": "object" - }, - "ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/EncryptionKey" - }, - "Location": { - "type": "string" - }, - "Type": { - "enum": [ - "S3" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Location" - ], - "type": "object" - }, - "ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/ArtifactStore" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "enum": [ - "Schedule" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Name" - ], - "type": "object" - }, - "EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type", - "Id" - ], - "type": "object" - }, - "FailureConditions": { - "additionalProperties": false, - "properties": { - "Result": { - "type": "string" - } - }, - "required": [ - "Result" - ], - "type": "object" - }, - "GitBranchFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Includes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "GitConfiguration": { - "additionalProperties": false, - "properties": { - "PullRequest": { - "items": { - "$ref": "#/definitions/GitPullRequestFilter" - }, - "type": "array", - "uniqueItems": true - }, - "Push": { - "items": { - "$ref": "#/definitions/GitPushFilter" - }, - "type": "array", - "uniqueItems": true - }, - "SourceActionName": { - "type": "string" - } - }, - "required": [ - "SourceActionName" - ], - "type": "object" - }, - "GitFilePathFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Includes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "GitPullRequestFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/GitBranchFilterCriteria" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "FilePaths": { - "$ref": "#/definitions/GitFilePathFilterCriteria" - } - }, - "type": "object" - }, - "GitPushFilter": { - "additionalProperties": false, - "properties": { - "Branches": { - "$ref": "#/definitions/GitBranchFilterCriteria" - }, - "FilePaths": { - "$ref": "#/definitions/GitFilePathFilterCriteria" - }, - "Tags": { - "$ref": "#/definitions/GitTagFilterCriteria" - } - }, - "type": "object" - }, - "GitTagFilterCriteria": { - "additionalProperties": false, - "properties": { - "Excludes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Includes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "OutputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "PipelineTriggerDeclaration": { - "additionalProperties": false, - "properties": { - "GitConfiguration": { - "$ref": "#/definitions/GitConfiguration" - }, - "ProviderType": { - "type": "string" - } - }, - "required": [ - "ProviderType" - ], - "type": "object" - }, - "StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/ActionDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Blockers": { - "items": { - "$ref": "#/definitions/BlockerDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "OnFailure": { - "$ref": "#/definitions/FailureConditions" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "StageName", - "Reason" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VariableDeclaration": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/ArtifactStore" - }, - "ArtifactStores": { - "items": { - "$ref": "#/definitions/ArtifactStoreMap" - }, - "type": "array", - "uniqueItems": true - }, - "DisableInboundStageTransitions": { - "items": { - "$ref": "#/definitions/StageTransition" - }, - "type": "array", - "uniqueItems": true - }, - "ExecutionMode": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PipelineType": { - "type": "string" - }, - "RestartExecutionOnUpdate": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Stages": { - "items": { - "$ref": "#/definitions/StageDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Triggers": { - "items": { - "$ref": "#/definitions/PipelineTriggerDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Variables": { - "items": { - "$ref": "#/definitions/VariableDeclaration" - }, - "type": "array", - "uniqueItems": true - }, - "Version": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Version" - ], - "required": [ - "Stages", - "RoleArn" - ], - "requiredXor": [ - "ArtifactStore", - "ArtifactStores" - ], - "typeName": "AWS::CodePipeline::Pipeline" -} 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 d3527bcecf..2b563a78de 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -2271,7 +2271,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 51630e9419..1070f4346b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -1441,7 +1441,6 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", - "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2320,6 +2319,7 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", + "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cognito-userpooluicustomizationattachment.json new file mode 100644 index 0000000000..009f1aea8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,32 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ClientId", + "UserPoolId" + ], + "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" +} 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 8b0509f98e..db6e576b1f 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -1185,7 +1185,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 d72be8acc2..2d4dace933 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -1282,7 +1282,6 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", - "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -1952,7 +1951,6 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpoint.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", @@ -1973,7 +1971,6 @@ "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", "aws-sagemaker-space.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -2062,7 +2059,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cognito-userpooluicustomizationattachment.json new file mode 100644 index 0000000000..009f1aea8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,32 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ClientId", + "UserPoolId" + ], + "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..5cd4ea45fa --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json @@ -0,0 +1,831 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "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" + }, + "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" + } + }, + "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" + } + }, + "type": "object" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoML", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects" + ], + "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, + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "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" + } + }, + "handlers": { + "create": { + "permissions": [ + "sagemaker:CreateApp", + "sagemaker:CreateDomain", + "sagemaker:DescribeDomain", + "sagemaker:DescribeImage", + "sagemaker:DescribeImageVersion", + "iam:CreateServiceLinkedRole", + "iam:PassRole", + "efs:CreateFileSystem", + "kms:CreateGrant", + "kms:Decrypt", + "kms:DescribeKey", + "kms:GenerateDataKeyWithoutPlainText" + ] + }, + "delete": { + "permissions": [ + "sagemaker:DeleteApp", + "sagemaker:DeleteDomain", + "sagemaker:DescribeDomain" + ] + }, + "list": { + "permissions": [ + "sagemaker:ListDomains" + ] + }, + "read": { + "permissions": [ + "sagemaker:DescribeDomain" + ] + }, + "update": { + "permissions": [ + "sagemaker:CreateApp", + "sagemaker:UpdateDomain", + "sagemaker:DescribeDomain", + "sagemaker:DescribeImage", + "sagemaker:DescribeImageVersion", + "iam:PassRole" + ] + } + }, + "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 + }, + "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/ca_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..c2c0daf9fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json @@ -0,0 +1,592 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "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" + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoML", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects" + ], + "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" + }, + "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, + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "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" + } + }, + "handlers": { + "create": { + "permissions": [ + "sagemaker:CreateUserProfile", + "sagemaker:DescribeUserProfile", + "sagemaker:DescribeImage", + "sagemaker:DescribeImageVersion", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "sagemaker:DeleteUserProfile", + "sagemaker:DescribeUserProfile" + ] + }, + "list": { + "permissions": [ + "sagemaker:ListUserProfiles" + ] + }, + "read": { + "permissions": [ + "sagemaker:DescribeUserProfile" + ] + }, + "update": { + "permissions": [ + "sagemaker:UpdateUserProfile", + "sagemaker:DescribeUserProfile", + "sagemaker:DescribeImage", + "sagemaker:DescribeImageVersion", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "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, + "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/ca_central_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 2fb4c7ee00..57f1f737ec 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -1307,7 +1307,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 84bdbd53d5..614a1a14d4 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -1200,7 +1200,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 00041bac6c..0d0eeeaf78 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -1458,6 +1458,7 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", + "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -1589,7 +1590,6 @@ "aws-ec2-flowlog.json", "aws-ec2-gatewayroutetableassociation.json", "aws-ec2-host.json", - "aws-ec2-instance.json", "aws-ec2-instanceconnectendpoint.json", "aws-ec2-internetgateway.json", "aws-ec2-ipam.json", @@ -1815,7 +1815,6 @@ "aws-iam-grouppolicy.json", "aws-iam-instanceprofile.json", "aws-iam-managedpolicy.json", - "aws-iam-oidcprovider.json", "aws-iam-policy.json", "aws-iam-role.json", "aws-iam-rolepolicy.json", @@ -1942,7 +1941,6 @@ "aws-lakeformation-resource.json", "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", - "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", @@ -2357,7 +2355,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cognito-userpooluicustomizationattachment.json deleted file mode 100644 index ff8cea02ef..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cognito-userpooluicustomizationattachment.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/UserPoolId", - "/properties/ClientId" - ], - "handlers": { - "create": { - "permissions": [ - "cognito-idp:SetUICustomization", - "cognito-idp:GetUICustomization" - ], - "timeoutInMinutes": 2 - }, - "delete": { - "permissions": [ - "cognito-idp:SetUICustomization", - "cognito-idp:GetUICustomization" - ], - "timeoutInMinutes": 2 - }, - "read": { - "permissions": [ - "cognito-idp:GetUICustomization" - ] - }, - "update": { - "permissions": [ - "cognito-idp:SetUICustomization" - ], - "timeoutInMinutes": 2 - } - }, - "primaryIdentifier": [ - "/properties/UserPoolId", - "/properties/ClientId" - ], - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId", - "ClientId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-instance.json new file mode 100644 index 0000000000..48310cad8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-instance.json @@ -0,0 +1,749 @@ +{ + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/AdditionalInfo", + "/properties/Affinity", + "/properties/EbsOptimized", + "/properties/HostId", + "/properties/InstanceType", + "/properties/KernelId", + "/properties/PrivateDnsNameOptions", + "/properties/RamdiskId", + "/properties/SecurityGroupIds", + "/properties/Tenancy", + "/properties/UserData", + "/properties/BlockDeviceMappings" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZone", + "/properties/CpuOptions", + "/properties/ElasticGpuSpecifications", + "/properties/ElasticInferenceAccelerators", + "/properties/EnclaveOptions", + "/properties/HibernationOptions", + "/properties/HostResourceGroupArn", + "/properties/ImageId", + "/properties/Ipv6AddressCount", + "/properties/Ipv6Addresses", + "/properties/KeyName", + "/properties/LaunchTemplate", + "/properties/LicenseSpecifications", + "/properties/NetworkInterfaces", + "/properties/PlacementGroupName", + "/properties/PrivateIpAddress", + "/properties/SecurityGroups", + "/properties/SubnetId" + ], + "definitions": { + "AssociationParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/Ebs" + }, + "NoDevice": { + "additionalProperties": false, + "type": "object" + }, + "VirtualName": { + "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "requiredXor": [ + "VirtualName", + "Ebs", + "NoDevice" + ], + "type": "object" + }, + "Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "minimum": 0, + "type": "integer" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "LaunchTemplateSpecification": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "LaunchTemplateName", + "Version" + ] + }, + { + "required": [ + "LaunchTemplateId", + "Version" + ] + } + ], + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": false + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "SecondaryPrivateIpAddressCount": { + "type": "integer" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex" + ], + "type": "object" + }, + "PrivateDnsNameOptions": { + "additionalProperties": false, + "properties": { + "EnableResourceNameDnsAAAARecord": { + "type": "boolean" + }, + "EnableResourceNameDnsARecord": { + "type": "boolean" + }, + "HostnameType": { + "enum": [ + "ip-name", + "resource-name" + ], + "type": "string" + } + }, + "type": "object" + }, + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress", + "Primary" + ], + "type": "object" + }, + "SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AssociationParameter" + }, + "type": "array", + "uniqueItems": false + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "State": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "VolumeId", + "Device" + ], + "type": "object" + } + }, + "dependentExcluded": { + "NetworkInterfaces": [ + "SubnetId" + ], + "SubnetId": [ + "NetworkInterfaces" + ] + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "ec2:ModifyPrivateDnsNameOptions", + "ec2:DescribeElasticGpus", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVolumes", + "ec2:RunInstances", + "ec2:AssociateIamInstanceProfile", + "ec2:DescribeIamInstanceProfileAssociations", + "ec2:DescribeInstances", + "ec2:DescribeSubnets", + "ec2:DescribeKeyPairs", + "ec2:DescribeSecurityGroups", + "ec2:DescribeVpcs", + "ec2:DescribeInstanceAttribute", + "ec2:DescribeInstanceCreditSpecifications", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:DetachVolume", + "ec2:DisassociateIamInstanceProfile", + "ec2:ModifyInstanceAttribute", + "ec2:ModifyInstanceCreditSpecification", + "ec2:ModifyInstancePlacement", + "ec2:MonitorInstances", + "ec2:AttachVolume", + "ec2:CreateTags", + "ec2:ReplaceIamInstanceProfileAssociation", + "ec2:StartInstances", + "elastic-inference:DescribeAccelerators", + "ssm:CreateAssociation", + "ssm:DescribeAssociation", + "ssm:ListAssociations" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeInstances", + "ec2:TerminateInstances", + "ec2:DescribeElasticGpus", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVolumes", + "ec2:DescribeInstances", + "ec2:DescribeInstanceAttribute", + "ec2:DescribeInstanceCreditSpecifications", + "ec2:DescribeLaunchTemplates", + "elastic-inference:DescribeAccelerators", + "ssm:DescribeAssociation", + "ssm:ListAssociations" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeInstances" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeElasticGpus", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVolumes", + "ec2:DescribeInstances", + "ec2:DescribeInstanceAttribute", + "ec2:DescribeInstanceCreditSpecifications", + "ec2:DescribeLaunchTemplates", + "elastic-inference:DescribeAccelerators", + "ssm:DescribeAssociation", + "ssm:ListAssociations" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeElasticGpus", + "ec2:ModifyPrivateDnsNameOptions", + "ec2:DescribeNetworkInterfaces", + "ec2:AssociateIamInstanceProfile", + "ec2:DescribeIamInstanceProfileAssociations", + "ec2:DescribeInstances", + "ec2:DescribeSubnets", + "ec2:DescribeKeyPairs", + "ec2:DescribeSecurityGroups", + "ec2:DescribeVpcs", + "ec2:DescribeInstanceAttribute", + "ec2:DescribeInstanceCreditSpecifications", + "ec2:DescribeLaunchTemplates", + "ec2:DetachVolume", + "ec2:DisassociateIamInstanceProfile", + "ec2:ModifyInstanceAttribute", + "ec2:ModifyInstanceCreditSpecification", + "ec2:ModifyInstanceMaintenanceOptions", + "ec2:ModifyInstancePlacement", + "ec2:MonitorInstances", + "ec2:AttachVolume", + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:ReplaceIamInstanceProfileAssociation", + "ec2:StartInstances", + "ec2:StopInstances", + "ec2:UnmonitorInstances", + "elastic-inference:DescribeAccelerators", + "ssm:CreateAssociation", + "ssm:DeleteAssociation", + "ssm:DescribeAssociation", + "ssm:ListAssociations" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceId" + ], + "properties": { + "AdditionalInfo": { + "type": "string" + }, + "Affinity": { + "enum": [ + "default", + "host" + ], + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "type": "array", + "uniqueItems": false + }, + "CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "integer" + }, + "ThreadsPerCore": { + "type": "integer" + } + }, + "type": "object" + }, + "CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ElasticGpuSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "ElasticInferenceAccelerators": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ElasticInferenceAccelerator" + }, + "type": "array", + "uniqueItems": false + }, + "EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "format": "AWS::EC2::Image.Id", + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": false + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/LaunchTemplateSpecification", + "type": "object" + }, + "LicenseSpecifications": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LicenseSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "type": "array", + "uniqueItems": false + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateDnsName": { + "type": "string" + }, + "PrivateDnsNameOptions": { + "$ref": "#/definitions/PrivateDnsNameOptions", + "type": "object" + }, + "PrivateIp": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PropagateTagsToVolumeOnCreation": { + "type": "boolean" + }, + "PublicDnsName": { + "type": "string" + }, + "PublicIp": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SsmAssociation" + }, + "type": "array", + "uniqueItems": false + }, + "State": { + "$ref": "#/definitions/State", + "type": "object" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Volume" + }, + "type": "array", + "uniqueItems": false + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/InstanceId", + "/properties/PrivateIp", + "/properties/PublicDnsName", + "/properties/PublicIp", + "/properties/PrivateDnsName", + "/properties/VpcId", + "/properties/State" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::Instance", + "writeOnlyProperties": [ + "/properties/BlockDeviceMappings/*/NoDevice", + "/properties/BlockDeviceMappings/*/VirtualName", + "/properties/LicenseSpecification", + "/properties/AdditionalInfo", + "/properties/Ipv6AddressCount", + "/properties/Ipv6Addresses", + "/properties/PropagateTagsToVolumeOnCreation" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-oidcprovider.json new file mode 100644 index 0000000000..fa37c736e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-oidcprovider.json @@ -0,0 +1,117 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Url" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:CreateOpenIDConnectProvider", + "iam:TagOpenIDConnectProvider", + "iam:GetOpenIDConnectProvider" + ] + }, + "delete": { + "permissions": [ + "iam:DeleteOpenIDConnectProvider" + ] + }, + "list": { + "permissions": [ + "iam:ListOpenIDConnectProvider", + "iam:GetOpenIDConnectProvider" + ] + }, + "read": { + "permissions": [ + "iam:GetOpenIDConnectProvider" + ] + }, + "update": { + "permissions": [ + "iam:UpdateOpenIDConnectProviderThumbprint", + "iam:RemoveClientIDFromOpenIDConnectProvider", + "iam:AddClientIDToOpenIDConnectProvider", + "iam:GetOpenIDConnectProvider", + "iam:TagOpenIDConnectProvider", + "iam:UntagOpenIDConnectProvider", + "iam:ListOpenIDConnectProviderTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "ClientIdList": { + "insertionOrder": false, + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "ThumbprintList": { + "insertionOrder": false, + "items": { + "maxLength": 40, + "minLength": 40, + "pattern": "[0-9A-Fa-f]{40}", + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + "Url": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::IAM::OIDCProvider" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-alias.json new file mode 100644 index 0000000000..e952d8b59e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-alias.json @@ -0,0 +1,145 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/FunctionName" + ], + "definitions": { + "AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/VersionWeight" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "integer" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "lambda:CreateAlias", + "lambda:PutProvisionedConcurrencyConfig", + "lambda:GetProvisionedConcurrencyConfig" + ], + "timeoutInMinutes": 45 + }, + "delete": { + "permissions": [ + "lambda:DeleteAlias", + "lambda:GetAlias" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "FunctionName": { + "$ref": "resource-schema.json#/properties/FunctionName" + } + }, + "required": [ + "FunctionName" + ] + }, + "permissions": [ + "lambda:ListAliases" + ] + }, + "read": { + "permissions": [ + "lambda:GetAlias", + "lambda:GetProvisionedConcurrencyConfig" + ] + }, + "update": { + "permissions": [ + "lambda:UpdateAlias", + "lambda:GetAlias", + "lambda:PutProvisionedConcurrencyConfig", + "lambda:DeleteProvisionedConcurrencyConfig", + "lambda:GetProvisionedConcurrencyConfig", + "codedeploy:CreateDeployment", + "codedeploy:GetDeployment", + "codedeploy:GetDeploymentGroup", + "codedeploy:GetDeploymentConfig", + "codedeploy:StopDeployment" + ], + "timeoutInMinutes": 120 + } + }, + "primaryIdentifier": [ + "/properties/AliasArn" + ], + "properties": { + "AliasArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AliasRoutingConfiguration" + } + }, + "propertyTransform": { + "/properties/FunctionName": "$split(FunctionName, \":\")[-1] $OR FunctionName" + }, + "readOnlyProperties": [ + "/properties/AliasArn" + ], + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-lambda", + "tagging": { + "taggable": false + }, + "typeName": "AWS::Lambda::Alias" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 bf3072a4e8..646705daf6 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -1073,7 +1073,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 f0cf5e96cf..a8238cd66c 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -1837,7 +1837,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 853942e327..27cd85e305 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -1449,7 +1449,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 efb30a4088..7168dcc58f 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -1433,6 +1433,7 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", + "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2325,7 +2326,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cognito-userpooluicustomizationattachment.json deleted file mode 100644 index ff8cea02ef..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cognito-userpooluicustomizationattachment.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/UserPoolId", - "/properties/ClientId" - ], - "handlers": { - "create": { - "permissions": [ - "cognito-idp:SetUICustomization", - "cognito-idp:GetUICustomization" - ], - "timeoutInMinutes": 2 - }, - "delete": { - "permissions": [ - "cognito-idp:SetUICustomization", - "cognito-idp:GetUICustomization" - ], - "timeoutInMinutes": 2 - }, - "read": { - "permissions": [ - "cognito-idp:GetUICustomization" - ] - }, - "update": { - "permissions": [ - "cognito-idp:SetUICustomization" - ], - "timeoutInMinutes": 2 - } - }, - "primaryIdentifier": [ - "/properties/UserPoolId", - "/properties/ClientId" - ], - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId", - "ClientId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 270cce398f..eccadcf9ea 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -1344,7 +1344,6 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", - "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2150,7 +2149,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cognito-userpooluicustomizationattachment.json new file mode 100644 index 0000000000..009f1aea8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,32 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ClientId", + "UserPoolId" + ], + "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 70f62f3c0a..5c759638e4 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1787,7 +1787,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 a58343d9da..455c9e4e9d 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -1176,7 +1176,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 6fa2a9847c..7622ceca14 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -1223,7 +1223,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 822f573d71..b9be692a51 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -1488,7 +1488,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 af7456b3b8..c52f546703 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -1846,7 +1846,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-userpooluicustomizationattachment.json index 009f1aea8c..ff8cea02ef 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-userpooluicustomizationattachment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-userpooluicustomizationattachment.json @@ -4,8 +4,36 @@ "/properties/UserPoolId", "/properties/ClientId" ], + "handlers": { + "create": { + "permissions": [ + "cognito-idp:SetUICustomization", + "cognito-idp:GetUICustomization" + ], + "timeoutInMinutes": 2 + }, + "delete": { + "permissions": [ + "cognito-idp:SetUICustomization", + "cognito-idp:GetUICustomization" + ], + "timeoutInMinutes": 2 + }, + "read": { + "permissions": [ + "cognito-idp:GetUICustomization" + ] + }, + "update": { + "permissions": [ + "cognito-idp:SetUICustomization" + ], + "timeoutInMinutes": 2 + } + }, "primaryIdentifier": [ - "/properties/Id" + "/properties/UserPoolId", + "/properties/ClientId" ], "properties": { "CSS": { @@ -14,19 +42,20 @@ "ClientId": { "type": "string" }, - "Id": { - "type": "string" - }, "UserPoolId": { "type": "string" } }, - "readOnlyProperties": [ - "/properties/Id" - ], "required": [ - "ClientId", - "UserPoolId" + "UserPoolId", + "ClientId" ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sso-instance.json index 26c2ca063a..bd637397ab 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sso-instance.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sso-instance.json @@ -116,6 +116,7 @@ ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", "tagging": { + "cloudFormationSystemTags": true, "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, 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 8cd0025580..f3a08dffca 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -1343,7 +1343,6 @@ "aws-cognito-userpoolidentityprovider.json", "aws-cognito-userpoolresourceserver.json", "aws-cognito-userpoolriskconfigurationattachment.json", - "aws-cognito-userpooluicustomizationattachment.json", "aws-cognito-userpooluser.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-comprehend-documentclassifier.json", @@ -2158,7 +2157,6 @@ "aws-sso-application.json", "aws-sso-applicationassignment.json", "aws-sso-assignment.json", - "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", "aws-stepfunctions-activity.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cognito-userpooluicustomizationattachment.json new file mode 100644 index 0000000000..009f1aea8c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,32 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ClientId", + "UserPoolId" + ], + "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sso-instance.json new file mode 100644 index 0000000000..26c2ca063a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sso-instance.json @@ -0,0 +1,125 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\w+=,.@-]+", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\w+=,.@-]+", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "sso:CreateInstance", + "sso:DescribeInstance", + "sso:TagResource", + "iam:CreateServiceLinkedRole", + "sso:TagInstance", + "sso:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "sso:DeleteInstance" + ] + }, + "list": { + "permissions": [ + "sso:ListInstances" + ] + }, + "read": { + "permissions": [ + "sso:DescribeInstance", + "sso:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "sso:UpdateInstance", + "sso:TagResource", + "sso:UntagResource", + "sso:ListTagsForResource", + "sso:TagInstance", + "sso:DescribeInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/InstanceArn" + ], + "properties": { + "IdentityStoreId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "InstanceArn": { + "maxLength": 1224, + "minLength": 10, + "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "type": "string" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[\\w+=,.@-]+$", + "type": "string" + }, + "OwnerAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}?$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "ACTIVE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 75, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/InstanceArn", + "/properties/OwnerAccountId", + "/properties/IdentityStoreId", + "/properties/Status" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance", + "tagging": { + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SSO::Instance" +} 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 366cb14075..7caf783d1e 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 @@ -1193,6 +1193,7 @@ "aws-lakeformation-resource.json", "aws-lambda-alias.json", "aws-lambda-eventinvokeconfig.json", + "aws-lambda-function.json", "aws-lambda-permission.json", "aws-lambda-version.json", "aws-launchwizard-deployment.json", @@ -1202,6 +1203,7 @@ "aws-location-map.json", "aws-location-placeindex.json", "aws-location-routecalculator.json", + "aws-location-tracker.json", "aws-location-trackerconsumer.json", "aws-logs-accountpolicy.json", "aws-logs-delivery.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-function.json deleted file mode 100644 index 39009ea83f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-function.json +++ /dev/null @@ -1,559 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FunctionName" - ], - "definitions": { - "Code": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - }, - "S3Bucket": { - "maxLength": 63, - "minLength": 3, - "pattern": "^[0-9A-Za-z\\.\\-_]*(?