diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index 7fde60a745..ebec0678a4 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:.+", @@ -21149,6 +21174,7 @@ "CreateFeatureGroup", "CreateFlowDefinition", "CreateHub", + "CreateHubContentReference", "CreateHumanTaskUi", "CreateHyperParameterTuningJob", "CreateImage", @@ -21208,6 +21234,7 @@ "DeleteFlowDefinition", "DeleteHub", "DeleteHubContent", + "DeleteHubContentReference", "DeleteHumanLoop", "DeleteHumanTaskUi", "DeleteHyperParameterTuningJob", @@ -21240,6 +21267,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 814e460d5c..fa1d6db79f 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"c7c1511ddaa1110453cdd62af08aa0f7\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7f949aac9eef59a358e12f401cb3216f\"", "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 1c22d0ebe1..d877d58a9b 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"c78817fe547a0ba469def30a9c57e4a9\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"fcdc3a94c2bdd80298e3a3ab621aade9\"", "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 00a2902cdc..4482b59b06 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"ef4c00277e37281ef341666c6e7f5c5d\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bd0d9118133ee282bc12cd7e1265dd07\"", "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 1587925556..d21bd50a3e 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"c30eda9989c0cf9450bdaf3ed3d72cc4\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c4538a94fec2e6b7a3fe060b1a5b9353\"", "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 b94c932c2c..5cf32ff0b6 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"2b32f11b2138135a347f318887513edc\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"644b3490f01b390b41c33ea856020bcf\"", "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 9087fefe93..992008709e 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"60df7ae098359afe600ff2af54abb162\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"29cf5f716151b4a55c85db8396326a20\"", "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 b456890188..72715bd0d8 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"f0808dbd84980e89033e33826bb9aed9\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7eb08b1e425473ffddaf1e48ef3ceb2e\"", "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 157ce47584..0d36f5d228 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"8155b6803e59180d1de92540301a8c57\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"cb98615728c1f35208cec13bf9b7ae5b\"", "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 51ff34d15c..f75f9875ab 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"826b58ee41990bac542c3842863c0944\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"49f1a89fb318382baada296d131769d0\"", "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 2f18e17a85..bb8fa47379 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"f2350499bc7b869870e4f754e09cef6f\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c8b87d0598727f8357e9fbd21ffdaa13\"", "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 82450e00d4..3a1f4ca17d 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"eb41be60767ca10a8eb8945cf910b873\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"02957edbb4a73f3dc0d9c6e31112f554\"", "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 1c235608a5..27dd2c4616 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"fb5d52cf274e6ff166927a60fa2deb71\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b761bbd56e95dd38e1fb8fb6775541a7\"", "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 32f1e987e4..aeb863be59 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"a4376fb45dea76e930312c6cfdbb5833\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0b335c3b153a985ffe2efb4ecc788792\"", "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 2bdf8cc879..4dd5224986 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"da3fa275558167d399eef746769ceee0\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b9ce4c113b970bf6203a7ae860675ed9\"", "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 62a34232aa..1df4b4e139 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"9586abf75e0dfef22a1c9ca52a3cc08f\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"053ff68beb82c04c1c36df7116433335\"", "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 a7fe9a1c83..b7a8d25676 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"46f91f46ebddb634050110be9cbb222c\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0d1d4b16b0cf5ff7e48618b644318514\"", "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 56e32f045c..eaa8429dca 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"a5b13778ecbc2de50e40236fd579ed78\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d273a9815c63c588f1f0faab44b7eaf4\"", "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 baa67ccaba..cee07bb833 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"1ca658da007379b745980767bb88a37f\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"478cb7763a9f546c0d684c0e949682d1\"", "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 e821186001..0031479745 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"ba1523efbb30574efc803cffa30a4908\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8e22c7f5a536836cbae28c26224ef936\"", "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 06b8595f6e..e8ccaa288f 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"ecb26ad6b1fd0a7337fb098eaa9ace5f\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f05105d76b156c0e49ac41ed3b860fcb\"", "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 b4ac29239d..c05f143956 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"66e9f6be21671fcfcdda7abb82bf8ad5\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e4ba27a5b9889fcd6258e8ad4ad07251\"", "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 737bd3fb90..21c6673cab 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"019afd9079bdc692c7949a0f3e3a6df7\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8ff76adc54eeffbb479e0bcea396d423\"", "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 27c0c033c0..f9694dd6d8 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"402075d616c0fe8026e130e177984ccb\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"86f782d709bafbb713a01eaaff33dc24\"", "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 b27790042f..a23dc218bc 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"085c828653a26a4b9cfd08b50bcaad21\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"586c9192bb2a00ced337c909561779a9\"", "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 be1a7e819d..0e070561db 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"42596e2dfac79720cec44f4c2ec0bd60\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a4e824f7bd1051f0c3fdb9d8a577b8a0\"", "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 676c49c101..a72d6da5fd 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"663025669e328bfed742f374f2081625\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9217f7bf50d388903c125f8ee1f0871d\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json index 5756343a40..d718c3ce1b 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"8bb7b4bf18049be81a228f2734933bfc\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"edaae2d24d29ac988f53ba9bd124a0f0\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json index ba732424e2..5006b6ae4e 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"e7b3cb584147020b503d6ff9f5bcaaa7\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0d495aac680cee220e6d77f33d42c796\"", "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 e6abe10e5c..956ce6ce2e 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"64f77c5b976afa84055d94efca73ee03\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e4baa0c22b48c215d5d7fc5a978a03b2\"", "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 33a2ce71ff..ba6ae3ceed 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"dd2d89bf96fe328d4a1cad4f9ed91c5c\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b22d2d46fd6756ea4e6430fdce6b5d60\"", "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 0be592d673..dd6276a19f 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"a8394179614fa45cc2605adea1cd9498\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"218894bf79ce0367681d77cd9ec1365e\"", "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 54f21424fb..e3cf809838 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"adae0afd2675a6e80966f1abc9d5d8aa\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6d56f652a46576193ec6227680a64419\"", "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 53d4cfe7ad..408b41444d 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"8a183b155d6e880993ea7add527dc153\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9dbc319bd3ca032aa42f86aaedd770fe\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json index 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..223cfbfbb6 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", 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 66d435b09c..dfcbbcb317 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -504,6 +504,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1279,11 +1280,15 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", "aws-lex-resourcepolicy.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1317,6 +1322,7 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} 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 f077ae6928..17774c723c 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -511,6 +511,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -943,7 +944,6 @@ "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-userpoolidentityprovider.json", @@ -1117,6 +1117,7 @@ "aws-elasticbeanstalk-application.json", "aws-elasticbeanstalk-applicationversion.json", "aws-elasticbeanstalk-configurationtemplate.json", + "aws-elasticbeanstalk-environment.json", "aws-elasticloadbalancing-loadbalancer.json", "aws-elasticloadbalancingv2-listener.json", "aws-elasticloadbalancingv2-listenercertificate.json", @@ -1266,6 +1267,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-codepipeline-pipeline.json similarity index 81% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-codepipeline-pipeline.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-codepipeline-pipeline.json index 49ce5909b4..925fbfe118 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-codepipeline-pipeline.json @@ -41,7 +41,6 @@ "type": "string" }, "RoleArn": { - "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "RunOrder": { @@ -171,12 +170,12 @@ "additionalProperties": false, "properties": { "Result": { - "enum": [ - "ROLLBACK" - ], "type": "string" } }, + "required": [ + "Result" + ], "type": "object" }, "GitBranchFilterCriteria": { @@ -330,9 +329,6 @@ "$ref": "#/definitions/GitConfiguration" }, "ProviderType": { - "enum": [ - "CodeStarSourceConnection" - ], "type": "string" } }, @@ -362,8 +358,7 @@ "type": "string" }, "OnFailure": { - "$ref": "#/definitions/FailureConditions", - "type": "object" + "$ref": "#/definitions/FailureConditions" } }, "required": [ @@ -423,55 +418,8 @@ "type": "object" } }, - "handlers": { - "create": { - "permissions": [ - "iam:GetRole", - "iam:PassRole", - "codepipeline:GetPipeline", - "codepipeline:CreatePipeline", - "codepipeline:DisableStageTransition", - "codepipeline:GetPipelineState", - "codepipeline:TagResource", - "codestar-connections:PassConnection" - ] - }, - "delete": { - "permissions": [ - "codepipeline:GetPipeline", - "codepipeline:DeletePipeline" - ] - }, - "list": { - "permissions": [ - "codepipeline:ListPipelines" - ] - }, - "read": { - "permissions": [ - "codepipeline:GetPipeline", - "codepipeline:ListTagsForResource", - "codepipeline:GetPipelineState" - ] - }, - "update": { - "permissions": [ - "iam:GetRole", - "iam:PassRole", - "codepipeline:EnableStageTransition", - "codepipeline:StartPipelineExecution", - "codepipeline:GetPipeline", - "codepipeline:UpdatePipeline", - "codepipeline:GetPipelineState", - "codepipeline:DisableStageTransition", - "codepipeline:TagResource", - "codepipeline:UntagResource", - "codestar-connections:PassConnection" - ] - } - }, "primaryIdentifier": [ - "/properties/Name" + "/properties/Id" ], "properties": { "ArtifactStore": { @@ -492,29 +440,21 @@ "uniqueItems": true }, "ExecutionMode": { - "default": "SUPERSEDED", - "enum": [ - "QUEUED", - "SUPERSEDED", - "PARALLEL" - ], + "type": "string" + }, + "Id": { "type": "string" }, "Name": { "type": "string" }, "PipelineType": { - "enum": [ - "V1", - "V2" - ], "type": "string" }, "RestartExecutionOnUpdate": { "type": "boolean" }, "RoleArn": { - "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "Stages": { @@ -550,6 +490,7 @@ } }, "readOnlyProperties": [ + "/properties/Id", "/properties/Version" ], "required": [ @@ -560,16 +501,5 @@ "ArtifactStore", "ArtifactStores" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codepipeline", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CodePipeline::Pipeline", - "writeOnlyProperties": [ - "/properties/RestartExecutionOnUpdate" - ] + "typeName": "AWS::CodePipeline::Pipeline" } diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} 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 31f73ea90c..0f0e382f37 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -728,6 +728,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1014,6 +1015,13 @@ "AWS::SES::ContactList", "AWS::SES::DedicatedIpPool", "AWS::SES::EmailIdentity", + "AWS::SES::MailManagerAddonInstance", + "AWS::SES::MailManagerAddonSubscription", + "AWS::SES::MailManagerArchive", + "AWS::SES::MailManagerIngressPoint", + "AWS::SES::MailManagerRelay", + "AWS::SES::MailManagerRuleSet", + "AWS::SES::MailManagerTrafficPolicy", "AWS::SES::ReceiptFilter", "AWS::SES::ReceiptRule", "AWS::SES::ReceiptRuleSet", @@ -1520,7 +1528,6 @@ "aws-deadline-farm.json", "aws-deadline-fleet.json", "aws-deadline-licenseendpoint.json", - "aws-deadline-meteredproduct.json", "aws-deadline-monitor.json", "aws-deadline-queue.json", "aws-deadline-queueenvironment.json", @@ -1934,6 +1941,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -2026,6 +2034,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", @@ -2116,6 +2125,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-meteredproduct.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-meteredproduct.json new file mode 100644 index 0000000000..3388650a11 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-meteredproduct.json @@ -0,0 +1,88 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LicenseEndpointId", + "/properties/ProductId" + ], + "handlers": { + "create": { + "permissions": [ + "deadline:PutMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "delete": { + "permissions": [ + "deadline:DeleteMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "LicenseEndpointId": { + "$ref": "resource-schema.json#/properties/LicenseEndpointId" + } + }, + "required": [ + "LicenseEndpointId" + ] + }, + "permissions": [ + "deadline:ListMeteredProducts" + ] + }, + "read": { + "permissions": [ + "deadline:GetMeteredProduct", + "deadline:ListMeteredProducts" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]{12}:license-endpoint/le-[0-9a-z]{32}/metered-product/[0-9a-z]{1,32}-[.0-9a-z]{1,32}", + "type": "string" + }, + "Family": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "LicenseEndpointId": { + "pattern": "^le-[0-9a-f]{32}$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "ProductId": { + "pattern": "^[0-9a-z]{1,32}-[.0-9a-z]{1,32}$", + "type": "string" + }, + "Vendor": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Port", + "/properties/Family", + "/properties/Vendor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Deadline::MeteredProduct" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageraddoninstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageraddoninstance.json new file mode 100644 index 0000000000..256b48cc6d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageraddoninstance.json @@ -0,0 +1,117 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonSubscriptionId" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance", + "ses:CreateAddonInstance" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonInstance", + "ses:DeleteAddonInstance" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonInstances" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonInstanceId" + ], + "properties": { + "AddonInstanceArn": { + "type": "string" + }, + "AddonInstanceId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^ai-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "AddonName": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonInstanceArn", + "/properties/AddonInstanceId", + "/properties/AddonName" + ], + "required": [ + "AddonSubscriptionId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonInstance" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageraddonsubscription.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageraddonsubscription.json new file mode 100644 index 0000000000..6d8f68bd77 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageraddonsubscription.json @@ -0,0 +1,110 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription", + "ses:CreateAddonSubscription" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonSubscription", + "ses:DeleteAddonSubscription" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonSubscriptions" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonSubscriptionId" + ], + "properties": { + "AddonName": { + "type": "string" + }, + "AddonSubscriptionArn": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonSubscriptionArn", + "/properties/AddonSubscriptionId" + ], + "required": [ + "AddonName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonSubscription" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerarchive.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerarchive.json new file mode 100644 index 0000000000..551d679a08 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerarchive.json @@ -0,0 +1,169 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyArn" + ], + "definitions": { + "ArchiveRetention": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RetentionPeriod": { + "$ref": "#/definitions/RetentionPeriod" + } + }, + "required": [ + "RetentionPeriod" + ], + "title": "RetentionPeriod", + "type": "object" + } + ] + }, + "ArchiveState": { + "enum": [ + "ACTIVE", + "PENDING_DELETION" + ], + "type": "string" + }, + "RetentionPeriod": { + "enum": [ + "THREE_MONTHS", + "SIX_MONTHS", + "NINE_MONTHS", + "ONE_YEAR", + "EIGHTEEN_MONTHS", + "TWO_YEARS", + "THIRTY_MONTHS", + "THREE_YEARS", + "FOUR_YEARS", + "FIVE_YEARS", + "SIX_YEARS", + "SEVEN_YEARS", + "EIGHT_YEARS", + "NINE_YEARS", + "TEN_YEARS", + "PERMANENT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:CreateArchive", + "kms:DescribeKey", + "kms:Decrypt", + "kms:GenerateDataKey" + ] + }, + "delete": { + "permissions": [ + "ses:GetArchive", + "ses:DeleteArchive" + ] + }, + "list": { + "permissions": [ + "ses:ListArchives" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetArchive" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:UpdateArchive" + ] + } + }, + "primaryIdentifier": [ + "/properties/ArchiveId" + ], + "properties": { + "ArchiveArn": { + "type": "string" + }, + "ArchiveId": { + "maxLength": 66, + "minLength": 1, + "type": "string" + }, + "ArchiveName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*[a-zA-Z0-9]$", + "type": "string" + }, + "ArchiveState": { + "$ref": "#/definitions/ArchiveState" + }, + "KmsKeyArn": { + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$", + "type": "string" + }, + "Retention": { + "$ref": "#/definitions/ArchiveRetention" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/ArchiveArn", + "/properties/ArchiveId", + "/properties/ArchiveState" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerArchive" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageringresspoint.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageringresspoint.json new file mode 100644 index 0000000000..0b9483d753 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanageringresspoint.json @@ -0,0 +1,205 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type" + ], + "definitions": { + "IngressPointConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SmtpPassword": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$", + "type": "string" + } + }, + "required": [ + "SmtpPassword" + ], + "title": "SmtpPassword", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + } + ] + }, + "IngressPointStatus": { + "enum": [ + "PROVISIONING", + "DEPROVISIONING", + "UPDATING", + "ACTIVE", + "CLOSED", + "FAILED" + ], + "type": "string" + }, + "IngressPointStatusToUpdate": { + "enum": [ + "ACTIVE", + "CLOSED" + ], + "type": "string" + }, + "IngressPointType": { + "enum": [ + "OPEN", + "AUTH" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:CreateIngressPoint", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ses:GetIngressPoint", + "ses:DeleteIngressPoint" + ] + }, + "list": { + "permissions": [ + "ses:ListIngressPoints" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetIngressPoint" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:UpdateIngressPoint" + ] + } + }, + "primaryIdentifier": [ + "/properties/IngressPointId" + ], + "properties": { + "ARecord": { + "type": "string" + }, + "IngressPointArn": { + "type": "string" + }, + "IngressPointConfiguration": { + "$ref": "#/definitions/IngressPointConfiguration" + }, + "IngressPointId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "IngressPointName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Status": { + "$ref": "#/definitions/IngressPointStatus" + }, + "StatusToUpdate": { + "$ref": "#/definitions/IngressPointStatusToUpdate" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/IngressPointType" + } + }, + "readOnlyProperties": [ + "/properties/IngressPointId", + "/properties/IngressPointArn", + "/properties/Status", + "/properties/ARecord" + ], + "required": [ + "Type", + "TrafficPolicyId", + "RuleSetId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerIngressPoint", + "writeOnlyProperties": [ + "/properties/IngressPointConfiguration" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerrelay.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerrelay.json new file mode 100644 index 0000000000..cde881dba6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerrelay.json @@ -0,0 +1,162 @@ +{ + "additionalProperties": false, + "definitions": { + "NoAuthentication": { + "additionalProperties": false, + "type": "object" + }, + "RelayAuthentication": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NoAuthentication": { + "$ref": "#/definitions/NoAuthentication" + } + }, + "required": [ + "NoAuthentication" + ], + "title": "NoAuthentication", + "type": "object" + } + ] + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:CreateRelay" + ] + }, + "delete": { + "permissions": [ + "ses:GetRelay", + "ses:DeleteRelay" + ] + }, + "list": { + "permissions": [ + "ses:ListRelays" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRelay" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:UpdateRelay" + ] + } + }, + "primaryIdentifier": [ + "/properties/RelayId" + ], + "properties": { + "Authentication": { + "$ref": "#/definitions/RelayAuthentication" + }, + "RelayArn": { + "type": "string" + }, + "RelayId": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "RelayName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "ServerName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-\\.]+$", + "type": "string" + }, + "ServerPort": { + "maximum": 65535, + "minimum": 1, + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RelayArn", + "/properties/RelayId" + ], + "required": [ + "Authentication", + "ServerName", + "ServerPort" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRelay" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..e6afcb8a01 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json @@ -0,0 +1,884 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:CreateRuleSet" + ] + }, + "delete": { + "permissions": [ + "ses:GetRuleSet", + "ses:DeleteRuleSet" + ] + }, + "list": { + "permissions": [ + "ses:ListRuleSets" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRuleSet" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:UpdateRuleSet" + ] + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagertrafficpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagertrafficpolicy.json new file mode 100644 index 0000000000..eafc8ec637 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagertrafficpolicy.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "definitions": { + "AcceptAction": { + "enum": [ + "ALLOW", + "DENY" + ], + "type": "string" + }, + "IngressAnalysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "IngressBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "IngressBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "IngressBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/IngressAnalysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "IngressIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "IngressIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressIpv4Attribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressIpv4Attribute": { + "enum": [ + "SENDER_IP" + ], + "type": "string" + }, + "IngressIpv4Expression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressIpOperator" + }, + "Values": { + "items": { + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([0-9]|[12][0-9]|3[0-2])$", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringEmailAttribute": { + "enum": [ + "RECIPIENT" + ], + "type": "string" + }, + "IngressStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressStringOperator" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "IngressStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressTlsAttribute": { + "enum": [ + "TLS_PROTOCOL" + ], + "type": "string" + }, + "IngressTlsProtocolAttribute": { + "enum": [ + "TLS1_2", + "TLS1_3" + ], + "type": "string" + }, + "IngressTlsProtocolExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressTlsProtocolToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressTlsProtocolOperator" + }, + "Value": { + "$ref": "#/definitions/IngressTlsProtocolAttribute" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "IngressTlsProtocolOperator": { + "enum": [ + "MINIMUM_TLS_VERSION", + "IS" + ], + "type": "string" + }, + "IngressTlsProtocolToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressTlsAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "PolicyCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/IngressStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/IngressIpv4Expression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "TlsExpression": { + "$ref": "#/definitions/IngressTlsProtocolExpression" + } + }, + "required": [ + "TlsExpression" + ], + "title": "TlsExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/IngressBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + } + ] + }, + "PolicyStatement": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AcceptAction" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/PolicyCondition" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Action", + "Conditions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:CreateTrafficPolicy" + ] + }, + "delete": { + "permissions": [ + "ses:GetTrafficPolicy", + "ses:DeleteTrafficPolicy" + ] + }, + "list": { + "permissions": [ + "ses:ListTrafficPolicies" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetTrafficPolicy" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:UpdateTrafficPolicy" + ] + } + }, + "primaryIdentifier": [ + "/properties/TrafficPolicyId" + ], + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AcceptAction" + }, + "MaxMessageSizeBytes": { + "minimum": 1, + "type": "number" + }, + "PolicyStatements": { + "items": { + "$ref": "#/definitions/PolicyStatement" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyArn": { + "type": "string" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "TrafficPolicyName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/TrafficPolicyArn", + "/properties/TrafficPolicyId" + ], + "required": [ + "DefaultAction", + "PolicyStatements" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerTrafficPolicy" +} 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 79bcf62e04..0409122157 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -674,6 +674,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1300,7 +1301,6 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1773,6 +1773,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -1790,6 +1791,9 @@ "aws-lightsail-loadbalancertlscertificate.json", "aws-lightsail-staticip.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-codepipeline-pipeline.json similarity index 81% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-codepipeline-pipeline.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-codepipeline-pipeline.json index 49ce5909b4..925fbfe118 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-codepipeline-pipeline.json @@ -41,7 +41,6 @@ "type": "string" }, "RoleArn": { - "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "RunOrder": { @@ -171,12 +170,12 @@ "additionalProperties": false, "properties": { "Result": { - "enum": [ - "ROLLBACK" - ], "type": "string" } }, + "required": [ + "Result" + ], "type": "object" }, "GitBranchFilterCriteria": { @@ -330,9 +329,6 @@ "$ref": "#/definitions/GitConfiguration" }, "ProviderType": { - "enum": [ - "CodeStarSourceConnection" - ], "type": "string" } }, @@ -362,8 +358,7 @@ "type": "string" }, "OnFailure": { - "$ref": "#/definitions/FailureConditions", - "type": "object" + "$ref": "#/definitions/FailureConditions" } }, "required": [ @@ -423,55 +418,8 @@ "type": "object" } }, - "handlers": { - "create": { - "permissions": [ - "iam:GetRole", - "iam:PassRole", - "codepipeline:GetPipeline", - "codepipeline:CreatePipeline", - "codepipeline:DisableStageTransition", - "codepipeline:GetPipelineState", - "codepipeline:TagResource", - "codestar-connections:PassConnection" - ] - }, - "delete": { - "permissions": [ - "codepipeline:GetPipeline", - "codepipeline:DeletePipeline" - ] - }, - "list": { - "permissions": [ - "codepipeline:ListPipelines" - ] - }, - "read": { - "permissions": [ - "codepipeline:GetPipeline", - "codepipeline:ListTagsForResource", - "codepipeline:GetPipelineState" - ] - }, - "update": { - "permissions": [ - "iam:GetRole", - "iam:PassRole", - "codepipeline:EnableStageTransition", - "codepipeline:StartPipelineExecution", - "codepipeline:GetPipeline", - "codepipeline:UpdatePipeline", - "codepipeline:GetPipelineState", - "codepipeline:DisableStageTransition", - "codepipeline:TagResource", - "codepipeline:UntagResource", - "codestar-connections:PassConnection" - ] - } - }, "primaryIdentifier": [ - "/properties/Name" + "/properties/Id" ], "properties": { "ArtifactStore": { @@ -492,29 +440,21 @@ "uniqueItems": true }, "ExecutionMode": { - "default": "SUPERSEDED", - "enum": [ - "QUEUED", - "SUPERSEDED", - "PARALLEL" - ], + "type": "string" + }, + "Id": { "type": "string" }, "Name": { "type": "string" }, "PipelineType": { - "enum": [ - "V1", - "V2" - ], "type": "string" }, "RestartExecutionOnUpdate": { "type": "boolean" }, "RoleArn": { - "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "Stages": { @@ -550,6 +490,7 @@ } }, "readOnlyProperties": [ + "/properties/Id", "/properties/Version" ], "required": [ @@ -560,16 +501,5 @@ "ArtifactStore", "ArtifactStores" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codepipeline", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CodePipeline::Pipeline", - "writeOnlyProperties": [ - "/properties/RestartExecutionOnUpdate" - ] + "typeName": "AWS::CodePipeline::Pipeline" } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} 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 7c2e1e325e..485cc1f313 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -453,6 +453,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -907,7 +908,6 @@ "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", @@ -1188,6 +1188,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", @@ -1283,6 +1284,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-codepipeline-pipeline.json similarity index 81% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-codepipeline-pipeline.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-codepipeline-pipeline.json index 49ce5909b4..925fbfe118 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-codepipeline-pipeline.json @@ -41,7 +41,6 @@ "type": "string" }, "RoleArn": { - "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "RunOrder": { @@ -171,12 +170,12 @@ "additionalProperties": false, "properties": { "Result": { - "enum": [ - "ROLLBACK" - ], "type": "string" } }, + "required": [ + "Result" + ], "type": "object" }, "GitBranchFilterCriteria": { @@ -330,9 +329,6 @@ "$ref": "#/definitions/GitConfiguration" }, "ProviderType": { - "enum": [ - "CodeStarSourceConnection" - ], "type": "string" } }, @@ -362,8 +358,7 @@ "type": "string" }, "OnFailure": { - "$ref": "#/definitions/FailureConditions", - "type": "object" + "$ref": "#/definitions/FailureConditions" } }, "required": [ @@ -423,55 +418,8 @@ "type": "object" } }, - "handlers": { - "create": { - "permissions": [ - "iam:GetRole", - "iam:PassRole", - "codepipeline:GetPipeline", - "codepipeline:CreatePipeline", - "codepipeline:DisableStageTransition", - "codepipeline:GetPipelineState", - "codepipeline:TagResource", - "codestar-connections:PassConnection" - ] - }, - "delete": { - "permissions": [ - "codepipeline:GetPipeline", - "codepipeline:DeletePipeline" - ] - }, - "list": { - "permissions": [ - "codepipeline:ListPipelines" - ] - }, - "read": { - "permissions": [ - "codepipeline:GetPipeline", - "codepipeline:ListTagsForResource", - "codepipeline:GetPipelineState" - ] - }, - "update": { - "permissions": [ - "iam:GetRole", - "iam:PassRole", - "codepipeline:EnableStageTransition", - "codepipeline:StartPipelineExecution", - "codepipeline:GetPipeline", - "codepipeline:UpdatePipeline", - "codepipeline:GetPipelineState", - "codepipeline:DisableStageTransition", - "codepipeline:TagResource", - "codepipeline:UntagResource", - "codestar-connections:PassConnection" - ] - } - }, "primaryIdentifier": [ - "/properties/Name" + "/properties/Id" ], "properties": { "ArtifactStore": { @@ -492,29 +440,21 @@ "uniqueItems": true }, "ExecutionMode": { - "default": "SUPERSEDED", - "enum": [ - "QUEUED", - "SUPERSEDED", - "PARALLEL" - ], + "type": "string" + }, + "Id": { "type": "string" }, "Name": { "type": "string" }, "PipelineType": { - "enum": [ - "V1", - "V2" - ], "type": "string" }, "RestartExecutionOnUpdate": { "type": "boolean" }, "RoleArn": { - "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "Stages": { @@ -550,6 +490,7 @@ } }, "readOnlyProperties": [ + "/properties/Id", "/properties/Version" ], "required": [ @@ -560,16 +501,5 @@ "ArtifactStore", "ArtifactStores" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codepipeline", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CodePipeline::Pipeline", - "writeOnlyProperties": [ - "/properties/RestartExecutionOnUpdate" - ] + "typeName": "AWS::CodePipeline::Pipeline" } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py index 6b0b5223aa..b849d06c48 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -667,6 +667,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::LicenseManager::Grant", "AWS::LicenseManager::License", "AWS::Lightsail::Alarm", @@ -1768,6 +1769,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-lightsail-alarm.json", 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 4fb153bf07..90a8193f19 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -402,6 +402,7 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -720,7 +721,6 @@ "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", @@ -959,6 +959,7 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.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 new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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 ae110e44aa..df7e97835e 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -705,6 +705,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1494,7 +1495,6 @@ "aws-deadline-farm.json", "aws-deadline-fleet.json", "aws-deadline-licenseendpoint.json", - "aws-deadline-meteredproduct.json", "aws-deadline-monitor.json", "aws-deadline-queue.json", "aws-deadline-queueenvironment.json", @@ -1882,6 +1882,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -1972,6 +1973,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-neptunegraph-graph.json", @@ -2069,6 +2071,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-meteredproduct.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-meteredproduct.json new file mode 100644 index 0000000000..3388650a11 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-meteredproduct.json @@ -0,0 +1,88 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LicenseEndpointId", + "/properties/ProductId" + ], + "handlers": { + "create": { + "permissions": [ + "deadline:PutMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "delete": { + "permissions": [ + "deadline:DeleteMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "LicenseEndpointId": { + "$ref": "resource-schema.json#/properties/LicenseEndpointId" + } + }, + "required": [ + "LicenseEndpointId" + ] + }, + "permissions": [ + "deadline:ListMeteredProducts" + ] + }, + "read": { + "permissions": [ + "deadline:GetMeteredProduct", + "deadline:ListMeteredProducts" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]{12}:license-endpoint/le-[0-9a-z]{32}/metered-product/[0-9a-z]{1,32}-[.0-9a-z]{1,32}", + "type": "string" + }, + "Family": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "LicenseEndpointId": { + "pattern": "^le-[0-9a-f]{32}$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "ProductId": { + "pattern": "^[0-9a-z]{1,32}-[.0-9a-z]{1,32}$", + "type": "string" + }, + "Vendor": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Port", + "/properties/Family", + "/properties/Vendor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Deadline::MeteredProduct" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index a4b1017154..838a9e0086 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -726,6 +726,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1011,6 +1012,13 @@ "AWS::SES::ContactList", "AWS::SES::DedicatedIpPool", "AWS::SES::EmailIdentity", + "AWS::SES::MailManagerAddonInstance", + "AWS::SES::MailManagerAddonSubscription", + "AWS::SES::MailManagerArchive", + "AWS::SES::MailManagerIngressPoint", + "AWS::SES::MailManagerRelay", + "AWS::SES::MailManagerRuleSet", + "AWS::SES::MailManagerTrafficPolicy", "AWS::SES::ReceiptFilter", "AWS::SES::ReceiptRule", "AWS::SES::ReceiptRuleSet", @@ -1920,6 +1928,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -1944,6 +1953,9 @@ "aws-location-tracker.json", "aws-location-trackerconsumer.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -2007,6 +2019,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", @@ -2107,6 +2120,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageraddoninstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageraddoninstance.json new file mode 100644 index 0000000000..256b48cc6d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageraddoninstance.json @@ -0,0 +1,117 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonSubscriptionId" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance", + "ses:CreateAddonInstance" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonInstance", + "ses:DeleteAddonInstance" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonInstances" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonInstanceId" + ], + "properties": { + "AddonInstanceArn": { + "type": "string" + }, + "AddonInstanceId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^ai-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "AddonName": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonInstanceArn", + "/properties/AddonInstanceId", + "/properties/AddonName" + ], + "required": [ + "AddonSubscriptionId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonInstance" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageraddonsubscription.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageraddonsubscription.json new file mode 100644 index 0000000000..6d8f68bd77 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageraddonsubscription.json @@ -0,0 +1,110 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription", + "ses:CreateAddonSubscription" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonSubscription", + "ses:DeleteAddonSubscription" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonSubscriptions" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonSubscriptionId" + ], + "properties": { + "AddonName": { + "type": "string" + }, + "AddonSubscriptionArn": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonSubscriptionArn", + "/properties/AddonSubscriptionId" + ], + "required": [ + "AddonName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonSubscription" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerarchive.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerarchive.json new file mode 100644 index 0000000000..551d679a08 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerarchive.json @@ -0,0 +1,169 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyArn" + ], + "definitions": { + "ArchiveRetention": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RetentionPeriod": { + "$ref": "#/definitions/RetentionPeriod" + } + }, + "required": [ + "RetentionPeriod" + ], + "title": "RetentionPeriod", + "type": "object" + } + ] + }, + "ArchiveState": { + "enum": [ + "ACTIVE", + "PENDING_DELETION" + ], + "type": "string" + }, + "RetentionPeriod": { + "enum": [ + "THREE_MONTHS", + "SIX_MONTHS", + "NINE_MONTHS", + "ONE_YEAR", + "EIGHTEEN_MONTHS", + "TWO_YEARS", + "THIRTY_MONTHS", + "THREE_YEARS", + "FOUR_YEARS", + "FIVE_YEARS", + "SIX_YEARS", + "SEVEN_YEARS", + "EIGHT_YEARS", + "NINE_YEARS", + "TEN_YEARS", + "PERMANENT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:CreateArchive", + "kms:DescribeKey", + "kms:Decrypt", + "kms:GenerateDataKey" + ] + }, + "delete": { + "permissions": [ + "ses:GetArchive", + "ses:DeleteArchive" + ] + }, + "list": { + "permissions": [ + "ses:ListArchives" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetArchive" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:UpdateArchive" + ] + } + }, + "primaryIdentifier": [ + "/properties/ArchiveId" + ], + "properties": { + "ArchiveArn": { + "type": "string" + }, + "ArchiveId": { + "maxLength": 66, + "minLength": 1, + "type": "string" + }, + "ArchiveName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*[a-zA-Z0-9]$", + "type": "string" + }, + "ArchiveState": { + "$ref": "#/definitions/ArchiveState" + }, + "KmsKeyArn": { + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$", + "type": "string" + }, + "Retention": { + "$ref": "#/definitions/ArchiveRetention" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/ArchiveArn", + "/properties/ArchiveId", + "/properties/ArchiveState" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerArchive" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageringresspoint.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageringresspoint.json new file mode 100644 index 0000000000..0b9483d753 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanageringresspoint.json @@ -0,0 +1,205 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type" + ], + "definitions": { + "IngressPointConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SmtpPassword": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$", + "type": "string" + } + }, + "required": [ + "SmtpPassword" + ], + "title": "SmtpPassword", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + } + ] + }, + "IngressPointStatus": { + "enum": [ + "PROVISIONING", + "DEPROVISIONING", + "UPDATING", + "ACTIVE", + "CLOSED", + "FAILED" + ], + "type": "string" + }, + "IngressPointStatusToUpdate": { + "enum": [ + "ACTIVE", + "CLOSED" + ], + "type": "string" + }, + "IngressPointType": { + "enum": [ + "OPEN", + "AUTH" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:CreateIngressPoint", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ses:GetIngressPoint", + "ses:DeleteIngressPoint" + ] + }, + "list": { + "permissions": [ + "ses:ListIngressPoints" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetIngressPoint" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:UpdateIngressPoint" + ] + } + }, + "primaryIdentifier": [ + "/properties/IngressPointId" + ], + "properties": { + "ARecord": { + "type": "string" + }, + "IngressPointArn": { + "type": "string" + }, + "IngressPointConfiguration": { + "$ref": "#/definitions/IngressPointConfiguration" + }, + "IngressPointId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "IngressPointName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Status": { + "$ref": "#/definitions/IngressPointStatus" + }, + "StatusToUpdate": { + "$ref": "#/definitions/IngressPointStatusToUpdate" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/IngressPointType" + } + }, + "readOnlyProperties": [ + "/properties/IngressPointId", + "/properties/IngressPointArn", + "/properties/Status", + "/properties/ARecord" + ], + "required": [ + "Type", + "TrafficPolicyId", + "RuleSetId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerIngressPoint", + "writeOnlyProperties": [ + "/properties/IngressPointConfiguration" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerrelay.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerrelay.json new file mode 100644 index 0000000000..cde881dba6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerrelay.json @@ -0,0 +1,162 @@ +{ + "additionalProperties": false, + "definitions": { + "NoAuthentication": { + "additionalProperties": false, + "type": "object" + }, + "RelayAuthentication": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NoAuthentication": { + "$ref": "#/definitions/NoAuthentication" + } + }, + "required": [ + "NoAuthentication" + ], + "title": "NoAuthentication", + "type": "object" + } + ] + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:CreateRelay" + ] + }, + "delete": { + "permissions": [ + "ses:GetRelay", + "ses:DeleteRelay" + ] + }, + "list": { + "permissions": [ + "ses:ListRelays" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRelay" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:UpdateRelay" + ] + } + }, + "primaryIdentifier": [ + "/properties/RelayId" + ], + "properties": { + "Authentication": { + "$ref": "#/definitions/RelayAuthentication" + }, + "RelayArn": { + "type": "string" + }, + "RelayId": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "RelayName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "ServerName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-\\.]+$", + "type": "string" + }, + "ServerPort": { + "maximum": 65535, + "minimum": 1, + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RelayArn", + "/properties/RelayId" + ], + "required": [ + "Authentication", + "ServerName", + "ServerPort" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRelay" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..e6afcb8a01 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagerruleset.json @@ -0,0 +1,884 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:CreateRuleSet" + ] + }, + "delete": { + "permissions": [ + "ses:GetRuleSet", + "ses:DeleteRuleSet" + ] + }, + "list": { + "permissions": [ + "ses:ListRuleSets" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRuleSet" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:UpdateRuleSet" + ] + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagertrafficpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagertrafficpolicy.json new file mode 100644 index 0000000000..eafc8ec637 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ses-mailmanagertrafficpolicy.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "definitions": { + "AcceptAction": { + "enum": [ + "ALLOW", + "DENY" + ], + "type": "string" + }, + "IngressAnalysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "IngressBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "IngressBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "IngressBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/IngressAnalysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "IngressIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "IngressIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressIpv4Attribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressIpv4Attribute": { + "enum": [ + "SENDER_IP" + ], + "type": "string" + }, + "IngressIpv4Expression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressIpOperator" + }, + "Values": { + "items": { + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([0-9]|[12][0-9]|3[0-2])$", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringEmailAttribute": { + "enum": [ + "RECIPIENT" + ], + "type": "string" + }, + "IngressStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressStringOperator" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "IngressStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressTlsAttribute": { + "enum": [ + "TLS_PROTOCOL" + ], + "type": "string" + }, + "IngressTlsProtocolAttribute": { + "enum": [ + "TLS1_2", + "TLS1_3" + ], + "type": "string" + }, + "IngressTlsProtocolExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressTlsProtocolToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressTlsProtocolOperator" + }, + "Value": { + "$ref": "#/definitions/IngressTlsProtocolAttribute" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "IngressTlsProtocolOperator": { + "enum": [ + "MINIMUM_TLS_VERSION", + "IS" + ], + "type": "string" + }, + "IngressTlsProtocolToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressTlsAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "PolicyCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/IngressStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/IngressIpv4Expression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "TlsExpression": { + "$ref": "#/definitions/IngressTlsProtocolExpression" + } + }, + "required": [ + "TlsExpression" + ], + "title": "TlsExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/IngressBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + } + ] + }, + "PolicyStatement": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AcceptAction" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/PolicyCondition" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Action", + "Conditions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:CreateTrafficPolicy" + ] + }, + "delete": { + "permissions": [ + "ses:GetTrafficPolicy", + "ses:DeleteTrafficPolicy" + ] + }, + "list": { + "permissions": [ + "ses:ListTrafficPolicies" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetTrafficPolicy" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:UpdateTrafficPolicy" + ] + } + }, + "primaryIdentifier": [ + "/properties/TrafficPolicyId" + ], + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AcceptAction" + }, + "MaxMessageSizeBytes": { + "minimum": 1, + "type": "number" + }, + "PolicyStatements": { + "items": { + "$ref": "#/definitions/PolicyStatement" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyArn": { + "type": "string" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "TrafficPolicyName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/TrafficPolicyArn", + "/properties/TrafficPolicyId" + ], + "required": [ + "DefaultAction", + "PolicyStatements" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerTrafficPolicy" +} 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 6b0197fc83..adc98c8d44 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -401,6 +401,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -749,7 +750,6 @@ "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", @@ -992,7 +992,11 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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_3/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py index fab1ccb901..95aa61179f 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -373,6 +373,7 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -682,7 +683,6 @@ "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", @@ -903,7 +903,11 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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_4/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} 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 7502f2b727..bb52c12d9e 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -624,6 +624,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1261,7 +1262,6 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1688,6 +1688,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -1709,6 +1710,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", @@ -1771,6 +1773,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbclusterparametergroup.json", "aws-neptune-dbinstance.json", "aws-neptune-dbparametergroup.json", @@ -1864,6 +1867,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/ca_central_1/aws-location-tracker.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-tracker.json deleted file mode 100644 index 49d479d160..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-tracker.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyId", - "/properties/TrackerName" - ], - "definitions": { - "PositionFiltering": { - "enum": [ - "TimeBased", - "DistanceBased", - "AccuracyBased" - ], - "type": "string" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/PricingPlan", - "/properties/PricingPlanDataSource" - ], - "handlers": { - "create": { - "permissions": [ - "geo:CreateTracker", - "geo:DescribeTracker", - "geo:TagResource", - "geo:UntagResource", - "kms:DescribeKey", - "kms:CreateGrant" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteTracker", - "geo:DescribeTracker" - ] - }, - "list": { - "permissions": [ - "geo:ListTrackers" - ] - }, - "read": { - "permissions": [ - "geo:DescribeTracker", - "kms:DescribeKey" - ] - }, - "update": { - "permissions": [ - "geo:CreateTracker", - "geo:DescribeTracker", - "geo:TagResource", - "geo:UntagResource", - "kms:DescribeKey", - "kms:CreateGrant", - "geo:UpdateTracker" - ] - } - }, - "primaryIdentifier": [ - "/properties/TrackerName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "EventBridgeEnabled": { - "type": "boolean" - }, - "KmsKeyEnableGeospatialQueries": { - "type": "boolean" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "PositionFiltering": { - "$ref": "#/definitions/PositionFiltering" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "TrackerArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "TrackerName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/TrackerArn", - "/properties/UpdateTime" - ], - "required": [ - "TrackerName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::Tracker" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index 60c59a4d62..211e8a7b67 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -594,7 +594,6 @@ "aws-codedeploy-application.json", "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", - "aws-codepipeline-pipeline.json", "aws-config-aggregationauthorization.json", "aws-config-configurationaggregator.json", "aws-config-configurationrecorder.json", @@ -791,6 +790,9 @@ "aws-lambda-permission.json", "aws-lambda-version.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -874,6 +876,7 @@ "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", + "aws-secretsmanager-secret.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/ca_west_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-secret.json deleted file mode 100644 index 8cf3aab10e..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-secret.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "integer" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetRandomPassword", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ] - }, - "delete": { - "permissions": [ - "secretsmanager:DeleteSecret", - "secretsmanager:DescribeSecret", - "secretsmanager:RemoveRegionsFromReplication" - ] - }, - "list": { - "permissions": [ - "secretsmanager:ListSecrets" - ] - }, - "read": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ] - }, - "update": { - "permissions": [ - "secretsmanager:UpdateSecret", - "secretsmanager:TagResource", - "secretsmanager:UntagResource", - "secretsmanager:GetRandomPassword", - "secretsmanager:GetSecretValue", - "secretsmanager:ReplicateSecretToRegions", - "secretsmanager:RemoveRegionsFromReplication" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/GenerateSecretString" - }, - "Id": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicaRegion" - }, - "type": "array", - "uniqueItems": false - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SecretsManager::Secret", - "writeOnlyProperties": [ - "/properties/SecretString", - "/properties/GenerateSecretString" - ] -} 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 8ce8efaba4..fe1f89f841 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -798,6 +798,7 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", + "aws-cloudformation-stackset.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -820,6 +821,7 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.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/cn_northwest_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py index 9a0ea9a4a4..5e741a9ba7 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -753,7 +753,6 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", - "aws-cloudformation-stackset.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -775,7 +774,6 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-config-aggregationauthorization.json", "aws-config-configrule.json", "aws-config-configurationaggregator.json", @@ -894,6 +892,7 @@ "aws-eks-nodegroup.json", "aws-eks-podidentityassociation.json", "aws-elasticache-cachecluster.json", + "aws-elasticache-parametergroup.json", "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", @@ -1043,6 +1042,9 @@ "aws-lambda-permission.json", "aws-lambda-version.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -1151,6 +1153,7 @@ "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", + "aws-secretsmanager-secret.json", "aws-securityhub-automationrule.json", "aws-securityhub-configurationpolicy.json", "aws-securityhub-delegatedadmin.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudformation-stackset.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudformation-stackset.json similarity index 97% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudformation-stackset.json rename to src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudformation-stackset.json index 792fccc85b..5f3fa6e905 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudformation-stackset.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudformation-stackset.json @@ -37,13 +37,6 @@ ], "type": "string" }, - "ConcurrencyMode": { - "enum": [ - "STRICT_FAILURE_TOLERANCE", - "SOFT_FAILURE_TOLERANCE" - ], - "type": "string" - }, "DeploymentTargets": { "additionalProperties": false, "properties": { @@ -86,9 +79,6 @@ "OperationPreferences": { "additionalProperties": false, "properties": { - "ConcurrencyMode": { - "$ref": "#/definitions/ConcurrencyMode" - }, "FailureToleranceCount": { "minimum": 0, "type": "integer" diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/cn_northwest_1/aws-elasticache-parametergroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-parametergroup.json deleted file mode 100644 index c524f26845..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-parametergroup.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CacheParameterGroupFamily" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "CacheParameterGroupFamily": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Properties": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Description", - "CacheParameterGroupFamily" - ], - "typeName": "AWS::ElastiCache::ParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-secret.json deleted file mode 100644 index 8cf3aab10e..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-secret.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "integer" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetRandomPassword", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ] - }, - "delete": { - "permissions": [ - "secretsmanager:DeleteSecret", - "secretsmanager:DescribeSecret", - "secretsmanager:RemoveRegionsFromReplication" - ] - }, - "list": { - "permissions": [ - "secretsmanager:ListSecrets" - ] - }, - "read": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ] - }, - "update": { - "permissions": [ - "secretsmanager:UpdateSecret", - "secretsmanager:TagResource", - "secretsmanager:UntagResource", - "secretsmanager:GetRandomPassword", - "secretsmanager:GetSecretValue", - "secretsmanager:ReplicateSecretToRegions", - "secretsmanager:RemoveRegionsFromReplication" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/GenerateSecretString" - }, - "Id": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicaRegion" - }, - "type": "array", - "uniqueItems": false - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SecretsManager::Secret", - "writeOnlyProperties": [ - "/properties/SecretString", - "/properties/GenerateSecretString" - ] -} 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 a4614bc5e8..03e16b1beb 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -733,6 +733,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1024,6 +1025,13 @@ "AWS::SES::ContactList", "AWS::SES::DedicatedIpPool", "AWS::SES::EmailIdentity", + "AWS::SES::MailManagerAddonInstance", + "AWS::SES::MailManagerAddonSubscription", + "AWS::SES::MailManagerArchive", + "AWS::SES::MailManagerIngressPoint", + "AWS::SES::MailManagerRelay", + "AWS::SES::MailManagerRuleSet", + "AWS::SES::MailManagerTrafficPolicy", "AWS::SES::ReceiptFilter", "AWS::SES::ReceiptRule", "AWS::SES::ReceiptRuleSet", @@ -1389,6 +1397,7 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", + "aws-cloudformation-stackset.json", "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", @@ -1431,6 +1440,7 @@ "aws-codeguruprofiler-profilinggroup.json", "aws-codegurureviewer-repositoryassociation.json", "aws-codepipeline-customactiontype.json", + "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1448,7 +1458,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", @@ -1626,7 +1635,6 @@ "aws-ec2-transitgatewayconnect.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", - "aws-ec2-transitgatewaymulticastgroupmember.json", "aws-ec2-transitgatewaymulticastgroupsource.json", "aws-ec2-transitgatewaypeeringattachment.json", "aws-ec2-transitgatewayroute.json", @@ -1942,6 +1950,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -2175,7 +2184,6 @@ "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", "aws-resourceexplorer2-view.json", - "aws-resourcegroups-group.json", "aws-robomaker-fleet.json", "aws-robomaker-robot.json", "aws-robomaker-robotapplication.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 new file mode 100644 index 0000000000..ff8cea02ef --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cognito-userpooluicustomizationattachment.json @@ -0,0 +1,61 @@ +{ + "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-transitgatewaymulticastgroupmember.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-transitgatewaymulticastgroupmember.json new file mode 100644 index 0000000000..a55b891d63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-transitgatewaymulticastgroupmember.json @@ -0,0 +1,101 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/TransitGatewayMulticastDomainId", + "/properties/GroupIpAddress", + "/properties/NetworkInterfaceId" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:RegisterTransitGatewayMulticastGroupMembers", + "ec2:SearchTransitGatewayMulticastGroups" + ] + }, + "delete": { + "permissions": [ + "ec2:DeregisterTransitGatewayMulticastGroupMembers", + "ec2:SearchTransitGatewayMulticastGroups" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "TransitGatewayMulticastDomainId": { + "$ref": "resource-schema.json#/properties/TransitGatewayMulticastDomainId" + } + }, + "required": [ + "TransitGatewayMulticastDomainId" + ] + }, + "permissions": [ + "ec2:SearchTransitGatewayMulticastGroups" + ] + }, + "read": { + "permissions": [ + "ec2:SearchTransitGatewayMulticastGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/TransitGatewayMulticastDomainId", + "/properties/GroupIpAddress", + "/properties/NetworkInterfaceId" + ], + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "GroupMember": { + "type": "boolean" + }, + "GroupSource": { + "type": "boolean" + }, + "MemberType": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/SubnetId", + "/properties/ResourceId", + "/properties/ResourceType", + "/properties/GroupSource", + "/properties/GroupMember", + "/properties/MemberType", + "/properties/TransitGatewayAttachmentId" + ], + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgatewaymulticastdomain/aws-ec2-transitgatewaymulticastgroupsource", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::TransitGatewayMulticastGroupMember" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-resourcegroups-group.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-resourcegroups-group.json new file mode 100644 index 0000000000..bbbc372e7a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-resourcegroups-group.json @@ -0,0 +1,209 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "Configuration": { + "items": { + "$ref": "#/definitions/ConfigurationItem" + }, + "type": "array" + }, + "ConfigurationItem": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/ConfigurationParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "ConfigurationParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/Query" + }, + "Type": { + "enum": [ + "TAG_FILTERS_1_0", + "CLOUDFORMATION_STACK_1_0" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "pattern": "^(?!aws:).+", + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "resource-groups:CreateGroup", + "resource-groups:Tag", + "cloudformation:DescribeStacks", + "cloudformation:ListStackResources", + "resource-groups:ListGroupResources", + "resource-groups:GroupResources" + ] + }, + "delete": { + "permissions": [ + "resource-groups:DeleteGroup", + "resource-groups:UnGroupResources" + ] + }, + "list": { + "permissions": [ + "resource-groups:ListGroups" + ] + }, + "read": { + "permissions": [ + "resource-groups:GetGroup", + "resource-groups:GetGroupQuery", + "resource-groups:GetTags", + "resource-groups:GetGroupConfiguration", + "resource-groups:ListGroupResources" + ] + }, + "update": { + "permissions": [ + "resource-groups:UpdateGroup", + "resource-groups:GetTags", + "resource-groups:GetGroupQuery", + "resource-groups:UpdateGroupQuery", + "resource-groups:Tag", + "resource-groups:Untag", + "resource-groups:PutGroupConfiguration", + "resource-groups:GetGroupConfiguration", + "resource-groups:ListGroupResources", + "resource-groups:GroupResources", + "resource-groups:UnGroupResources" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/Configuration" + }, + "Description": { + "maxLength": 512, + "type": "string" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "resource-groups:Tag", + "resource-groups:Untag" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ResourceGroups::Group" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageraddoninstance.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageraddoninstance.json new file mode 100644 index 0000000000..256b48cc6d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageraddoninstance.json @@ -0,0 +1,117 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonSubscriptionId" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance", + "ses:CreateAddonInstance" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonInstance", + "ses:DeleteAddonInstance" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonInstances" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonInstanceId" + ], + "properties": { + "AddonInstanceArn": { + "type": "string" + }, + "AddonInstanceId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^ai-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "AddonName": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonInstanceArn", + "/properties/AddonInstanceId", + "/properties/AddonName" + ], + "required": [ + "AddonSubscriptionId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonInstance" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageraddonsubscription.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageraddonsubscription.json new file mode 100644 index 0000000000..6d8f68bd77 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageraddonsubscription.json @@ -0,0 +1,110 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription", + "ses:CreateAddonSubscription" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonSubscription", + "ses:DeleteAddonSubscription" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonSubscriptions" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonSubscriptionId" + ], + "properties": { + "AddonName": { + "type": "string" + }, + "AddonSubscriptionArn": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonSubscriptionArn", + "/properties/AddonSubscriptionId" + ], + "required": [ + "AddonName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonSubscription" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerarchive.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerarchive.json new file mode 100644 index 0000000000..551d679a08 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerarchive.json @@ -0,0 +1,169 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyArn" + ], + "definitions": { + "ArchiveRetention": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RetentionPeriod": { + "$ref": "#/definitions/RetentionPeriod" + } + }, + "required": [ + "RetentionPeriod" + ], + "title": "RetentionPeriod", + "type": "object" + } + ] + }, + "ArchiveState": { + "enum": [ + "ACTIVE", + "PENDING_DELETION" + ], + "type": "string" + }, + "RetentionPeriod": { + "enum": [ + "THREE_MONTHS", + "SIX_MONTHS", + "NINE_MONTHS", + "ONE_YEAR", + "EIGHTEEN_MONTHS", + "TWO_YEARS", + "THIRTY_MONTHS", + "THREE_YEARS", + "FOUR_YEARS", + "FIVE_YEARS", + "SIX_YEARS", + "SEVEN_YEARS", + "EIGHT_YEARS", + "NINE_YEARS", + "TEN_YEARS", + "PERMANENT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:CreateArchive", + "kms:DescribeKey", + "kms:Decrypt", + "kms:GenerateDataKey" + ] + }, + "delete": { + "permissions": [ + "ses:GetArchive", + "ses:DeleteArchive" + ] + }, + "list": { + "permissions": [ + "ses:ListArchives" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetArchive" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:UpdateArchive" + ] + } + }, + "primaryIdentifier": [ + "/properties/ArchiveId" + ], + "properties": { + "ArchiveArn": { + "type": "string" + }, + "ArchiveId": { + "maxLength": 66, + "minLength": 1, + "type": "string" + }, + "ArchiveName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*[a-zA-Z0-9]$", + "type": "string" + }, + "ArchiveState": { + "$ref": "#/definitions/ArchiveState" + }, + "KmsKeyArn": { + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$", + "type": "string" + }, + "Retention": { + "$ref": "#/definitions/ArchiveRetention" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/ArchiveArn", + "/properties/ArchiveId", + "/properties/ArchiveState" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerArchive" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageringresspoint.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageringresspoint.json new file mode 100644 index 0000000000..0b9483d753 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanageringresspoint.json @@ -0,0 +1,205 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type" + ], + "definitions": { + "IngressPointConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SmtpPassword": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$", + "type": "string" + } + }, + "required": [ + "SmtpPassword" + ], + "title": "SmtpPassword", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + } + ] + }, + "IngressPointStatus": { + "enum": [ + "PROVISIONING", + "DEPROVISIONING", + "UPDATING", + "ACTIVE", + "CLOSED", + "FAILED" + ], + "type": "string" + }, + "IngressPointStatusToUpdate": { + "enum": [ + "ACTIVE", + "CLOSED" + ], + "type": "string" + }, + "IngressPointType": { + "enum": [ + "OPEN", + "AUTH" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:CreateIngressPoint", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ses:GetIngressPoint", + "ses:DeleteIngressPoint" + ] + }, + "list": { + "permissions": [ + "ses:ListIngressPoints" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetIngressPoint" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:UpdateIngressPoint" + ] + } + }, + "primaryIdentifier": [ + "/properties/IngressPointId" + ], + "properties": { + "ARecord": { + "type": "string" + }, + "IngressPointArn": { + "type": "string" + }, + "IngressPointConfiguration": { + "$ref": "#/definitions/IngressPointConfiguration" + }, + "IngressPointId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "IngressPointName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Status": { + "$ref": "#/definitions/IngressPointStatus" + }, + "StatusToUpdate": { + "$ref": "#/definitions/IngressPointStatusToUpdate" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/IngressPointType" + } + }, + "readOnlyProperties": [ + "/properties/IngressPointId", + "/properties/IngressPointArn", + "/properties/Status", + "/properties/ARecord" + ], + "required": [ + "Type", + "TrafficPolicyId", + "RuleSetId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerIngressPoint", + "writeOnlyProperties": [ + "/properties/IngressPointConfiguration" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerrelay.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerrelay.json new file mode 100644 index 0000000000..cde881dba6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerrelay.json @@ -0,0 +1,162 @@ +{ + "additionalProperties": false, + "definitions": { + "NoAuthentication": { + "additionalProperties": false, + "type": "object" + }, + "RelayAuthentication": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NoAuthentication": { + "$ref": "#/definitions/NoAuthentication" + } + }, + "required": [ + "NoAuthentication" + ], + "title": "NoAuthentication", + "type": "object" + } + ] + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:CreateRelay" + ] + }, + "delete": { + "permissions": [ + "ses:GetRelay", + "ses:DeleteRelay" + ] + }, + "list": { + "permissions": [ + "ses:ListRelays" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRelay" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:UpdateRelay" + ] + } + }, + "primaryIdentifier": [ + "/properties/RelayId" + ], + "properties": { + "Authentication": { + "$ref": "#/definitions/RelayAuthentication" + }, + "RelayArn": { + "type": "string" + }, + "RelayId": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "RelayName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "ServerName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-\\.]+$", + "type": "string" + }, + "ServerPort": { + "maximum": 65535, + "minimum": 1, + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RelayArn", + "/properties/RelayId" + ], + "required": [ + "Authentication", + "ServerName", + "ServerPort" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRelay" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..e6afcb8a01 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json @@ -0,0 +1,884 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:CreateRuleSet" + ] + }, + "delete": { + "permissions": [ + "ses:GetRuleSet", + "ses:DeleteRuleSet" + ] + }, + "list": { + "permissions": [ + "ses:ListRuleSets" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRuleSet" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:UpdateRuleSet" + ] + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagertrafficpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagertrafficpolicy.json new file mode 100644 index 0000000000..eafc8ec637 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagertrafficpolicy.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "definitions": { + "AcceptAction": { + "enum": [ + "ALLOW", + "DENY" + ], + "type": "string" + }, + "IngressAnalysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "IngressBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "IngressBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "IngressBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/IngressAnalysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "IngressIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "IngressIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressIpv4Attribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressIpv4Attribute": { + "enum": [ + "SENDER_IP" + ], + "type": "string" + }, + "IngressIpv4Expression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressIpOperator" + }, + "Values": { + "items": { + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([0-9]|[12][0-9]|3[0-2])$", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringEmailAttribute": { + "enum": [ + "RECIPIENT" + ], + "type": "string" + }, + "IngressStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressStringOperator" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "IngressStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressTlsAttribute": { + "enum": [ + "TLS_PROTOCOL" + ], + "type": "string" + }, + "IngressTlsProtocolAttribute": { + "enum": [ + "TLS1_2", + "TLS1_3" + ], + "type": "string" + }, + "IngressTlsProtocolExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressTlsProtocolToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressTlsProtocolOperator" + }, + "Value": { + "$ref": "#/definitions/IngressTlsProtocolAttribute" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "IngressTlsProtocolOperator": { + "enum": [ + "MINIMUM_TLS_VERSION", + "IS" + ], + "type": "string" + }, + "IngressTlsProtocolToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressTlsAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "PolicyCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/IngressStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/IngressIpv4Expression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "TlsExpression": { + "$ref": "#/definitions/IngressTlsProtocolExpression" + } + }, + "required": [ + "TlsExpression" + ], + "title": "TlsExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/IngressBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + } + ] + }, + "PolicyStatement": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AcceptAction" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/PolicyCondition" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Action", + "Conditions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:CreateTrafficPolicy" + ] + }, + "delete": { + "permissions": [ + "ses:GetTrafficPolicy", + "ses:DeleteTrafficPolicy" + ] + }, + "list": { + "permissions": [ + "ses:ListTrafficPolicies" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetTrafficPolicy" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:UpdateTrafficPolicy" + ] + } + }, + "primaryIdentifier": [ + "/properties/TrafficPolicyId" + ], + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AcceptAction" + }, + "MaxMessageSizeBytes": { + "minimum": 1, + "type": "number" + }, + "PolicyStatements": { + "items": { + "$ref": "#/definitions/PolicyStatement" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyArn": { + "type": "string" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "TrafficPolicyName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/TrafficPolicyArn", + "/properties/TrafficPolicyId" + ], + "required": [ + "DefaultAction", + "PolicyStatements" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerTrafficPolicy" +} 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 6e17599dc6..037b686b7c 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -383,6 +383,7 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -663,7 +664,6 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", - "aws-cloudformation-stackset.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -915,7 +915,11 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -929,7 +933,9 @@ "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", "aws-msk-vpcconnection.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", + "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-oam-link.json", @@ -1020,6 +1026,7 @@ "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", + "aws-secretsmanager-secret.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-stackset.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-stackset.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-stackset.json rename to src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-stackset.json index 792fccc85b..5f3fa6e905 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-stackset.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-stackset.json @@ -37,13 +37,6 @@ ], "type": "string" }, - "ConcurrencyMode": { - "enum": [ - "STRICT_FAILURE_TOLERANCE", - "SOFT_FAILURE_TOLERANCE" - ], - "type": "string" - }, "DeploymentTargets": { "additionalProperties": false, "properties": { @@ -86,9 +79,6 @@ "OperationPreferences": { "additionalProperties": false, "properties": { - "ConcurrencyMode": { - "$ref": "#/definitions/ConcurrencyMode" - }, "FailureToleranceCount": { "minimum": 0, "type": "integer" diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-loggingconfiguration.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-loggingconfiguration.json deleted file mode 100644 index 53af2a3017..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-networkfirewall-loggingconfiguration.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FirewallName", - "/properties/FirewallArn" - ], - "definitions": { - "LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": false, - "minProperties": 1, - "patternProperties": { - "^[0-9A-Za-z.\\-_@\\/]+$": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "enum": [ - "S3", - "CloudWatchLogs", - "KinesisDataFirehose" - ], - "type": "string" - }, - "LogType": { - "enum": [ - "ALERT", - "FLOW" - ], - "type": "string" - } - }, - "required": [ - "LogType", - "LogDestinationType", - "LogDestination" - ], - "type": "object" - }, - "LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogDestinationConfig" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "s3:PutBucketPolicy", - "s3:GetBucketPolicy", - "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies", - "logs:DescribeLogGroups", - "iam:CreateServiceLinkedRole", - "firehose:TagDeliveryStream", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteLogDelivery", - "logs:ListLogDeliveries", - "logs:GetLogDelivery", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "list": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "read": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "update": { - "permissions": [ - "logs:CreateLogDelivery", - "logs:DeleteLogDelivery", - "logs:GetLogDelivery", - "logs:UpdateLogDelivery", - "logs:ListLogDeliveries", - "s3:PutBucketPolicy", - "s3:GetBucketPolicy", - "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies", - "logs:DescribeLogGroups", - "iam:CreateServiceLinkedRole", - "firehose:TagDeliveryStream", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::NetworkFirewall::LoggingConfiguration" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secret.json deleted file mode 100644 index 8cf3aab10e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-secret.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "integer" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetRandomPassword", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ] - }, - "delete": { - "permissions": [ - "secretsmanager:DeleteSecret", - "secretsmanager:DescribeSecret", - "secretsmanager:RemoveRegionsFromReplication" - ] - }, - "list": { - "permissions": [ - "secretsmanager:ListSecrets" - ] - }, - "read": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ] - }, - "update": { - "permissions": [ - "secretsmanager:UpdateSecret", - "secretsmanager:TagResource", - "secretsmanager:UntagResource", - "secretsmanager:GetRandomPassword", - "secretsmanager:GetSecretValue", - "secretsmanager:ReplicateSecretToRegions", - "secretsmanager:RemoveRegionsFromReplication" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/GenerateSecretString" - }, - "Id": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicaRegion" - }, - "type": "array", - "uniqueItems": false - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SecretsManager::Secret", - "writeOnlyProperties": [ - "/properties/SecretString", - "/properties/GenerateSecretString" - ] -} 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 e1ea7e9a5a..38c96bfd1d 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -566,6 +566,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::LicenseManager::Grant", "AWS::LicenseManager::License", "AWS::Lightsail::Alarm", @@ -1136,7 +1137,6 @@ "aws-codeguruprofiler-profilinggroup.json", "aws-codegurureviewer-repositoryassociation.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1510,6 +1510,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-lightsail-alarm.json", @@ -1530,6 +1531,9 @@ "aws-location-tracker.json", "aws-location-trackerconsumer.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1645,6 +1649,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/eu_north_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py index 2934e23872..9b02b206c9 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -228,6 +228,7 @@ "AWS::DocDB::DBInstance", "AWS::DocDB::DBSubnetGroup", "AWS::DocDB::EventSubscription", + "AWS::DocDBElastic::Cluster", "AWS::DynamoDB::GlobalTable", "AWS::DynamoDB::Table", "AWS::EC2::CapacityReservation", @@ -493,6 +494,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -926,7 +928,6 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestarconnections-connection.json", "aws-codestarconnections-repositorylink.json", @@ -989,6 +990,7 @@ "aws-docdb-dbinstance.json", "aws-docdb-dbsubnetgroup.json", "aws-docdb-eventsubscription.json", + "aws-docdbelastic-cluster.json", "aws-dynamodb-globaltable.json", "aws-dynamodb-table.json", "aws-ec2-capacityreservation.json", @@ -1229,7 +1231,11 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/eu_south_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py index 4cffcc819a..ccb572ce9b 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -383,6 +383,7 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -689,7 +690,6 @@ "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", @@ -921,7 +921,11 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/eu_south_2/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} 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 a1b9557755..de22484b12 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -710,6 +710,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1006,6 +1007,13 @@ "AWS::SES::ContactList", "AWS::SES::DedicatedIpPool", "AWS::SES::EmailIdentity", + "AWS::SES::MailManagerAddonInstance", + "AWS::SES::MailManagerAddonSubscription", + "AWS::SES::MailManagerArchive", + "AWS::SES::MailManagerIngressPoint", + "AWS::SES::MailManagerRelay", + "AWS::SES::MailManagerRuleSet", + "AWS::SES::MailManagerTrafficPolicy", "AWS::SES::ReceiptFilter", "AWS::SES::ReceiptRule", "AWS::SES::ReceiptRuleSet", @@ -1480,7 +1488,6 @@ "aws-deadline-farm.json", "aws-deadline-fleet.json", "aws-deadline-licenseendpoint.json", - "aws-deadline-meteredproduct.json", "aws-deadline-monitor.json", "aws-deadline-queue.json", "aws-deadline-queueenvironment.json", @@ -1904,6 +1911,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -1928,6 +1936,9 @@ "aws-location-tracker.json", "aws-location-trackerconsumer.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1995,6 +2006,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbclusterparametergroup.json", "aws-neptune-dbinstance.json", "aws-neptune-dbparametergroup.json", @@ -2103,6 +2115,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -2370,6 +2383,7 @@ "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", "aws-workspaces-workspacespool.json", + "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-identityprovider.json", "aws-workspacesweb-ipaccesssettings.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-deadline-meteredproduct.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-deadline-meteredproduct.json new file mode 100644 index 0000000000..3388650a11 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-deadline-meteredproduct.json @@ -0,0 +1,88 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LicenseEndpointId", + "/properties/ProductId" + ], + "handlers": { + "create": { + "permissions": [ + "deadline:PutMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "delete": { + "permissions": [ + "deadline:DeleteMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "LicenseEndpointId": { + "$ref": "resource-schema.json#/properties/LicenseEndpointId" + } + }, + "required": [ + "LicenseEndpointId" + ] + }, + "permissions": [ + "deadline:ListMeteredProducts" + ] + }, + "read": { + "permissions": [ + "deadline:GetMeteredProduct", + "deadline:ListMeteredProducts" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]{12}:license-endpoint/le-[0-9a-z]{32}/metered-product/[0-9a-z]{1,32}-[.0-9a-z]{1,32}", + "type": "string" + }, + "Family": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "LicenseEndpointId": { + "pattern": "^le-[0-9a-f]{32}$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "ProductId": { + "pattern": "^[0-9a-z]{1,32}-[.0-9a-z]{1,32}$", + "type": "string" + }, + "Vendor": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Port", + "/properties/Family", + "/properties/Vendor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Deadline::MeteredProduct" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageraddoninstance.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageraddoninstance.json new file mode 100644 index 0000000000..256b48cc6d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageraddoninstance.json @@ -0,0 +1,117 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonSubscriptionId" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance", + "ses:CreateAddonInstance" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonInstance", + "ses:DeleteAddonInstance" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonInstances" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonInstance" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonInstanceId" + ], + "properties": { + "AddonInstanceArn": { + "type": "string" + }, + "AddonInstanceId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^ai-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "AddonName": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonInstanceArn", + "/properties/AddonInstanceId", + "/properties/AddonName" + ], + "required": [ + "AddonSubscriptionId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonInstance" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageraddonsubscription.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageraddonsubscription.json new file mode 100644 index 0000000000..6d8f68bd77 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageraddonsubscription.json @@ -0,0 +1,110 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AddonName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription", + "ses:CreateAddonSubscription" + ] + }, + "delete": { + "permissions": [ + "ses:GetAddonSubscription", + "ses:DeleteAddonSubscription" + ] + }, + "list": { + "permissions": [ + "ses:ListAddonSubscriptions" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetAddonSubscription" + ] + } + }, + "primaryIdentifier": [ + "/properties/AddonSubscriptionId" + ], + "properties": { + "AddonName": { + "type": "string" + }, + "AddonSubscriptionArn": { + "type": "string" + }, + "AddonSubscriptionId": { + "maxLength": 67, + "minLength": 4, + "pattern": "^as-[a-zA-Z0-9]{1,64}$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/AddonSubscriptionArn", + "/properties/AddonSubscriptionId" + ], + "required": [ + "AddonName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerAddonSubscription" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerarchive.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerarchive.json new file mode 100644 index 0000000000..551d679a08 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerarchive.json @@ -0,0 +1,169 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyArn" + ], + "definitions": { + "ArchiveRetention": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RetentionPeriod": { + "$ref": "#/definitions/RetentionPeriod" + } + }, + "required": [ + "RetentionPeriod" + ], + "title": "RetentionPeriod", + "type": "object" + } + ] + }, + "ArchiveState": { + "enum": [ + "ACTIVE", + "PENDING_DELETION" + ], + "type": "string" + }, + "RetentionPeriod": { + "enum": [ + "THREE_MONTHS", + "SIX_MONTHS", + "NINE_MONTHS", + "ONE_YEAR", + "EIGHTEEN_MONTHS", + "TWO_YEARS", + "THIRTY_MONTHS", + "THREE_YEARS", + "FOUR_YEARS", + "FIVE_YEARS", + "SIX_YEARS", + "SEVEN_YEARS", + "EIGHT_YEARS", + "NINE_YEARS", + "TEN_YEARS", + "PERMANENT" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:CreateArchive", + "kms:DescribeKey", + "kms:Decrypt", + "kms:GenerateDataKey" + ] + }, + "delete": { + "permissions": [ + "ses:GetArchive", + "ses:DeleteArchive" + ] + }, + "list": { + "permissions": [ + "ses:ListArchives" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetArchive" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetArchive", + "ses:UpdateArchive" + ] + } + }, + "primaryIdentifier": [ + "/properties/ArchiveId" + ], + "properties": { + "ArchiveArn": { + "type": "string" + }, + "ArchiveId": { + "maxLength": 66, + "minLength": 1, + "type": "string" + }, + "ArchiveName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*[a-zA-Z0-9]$", + "type": "string" + }, + "ArchiveState": { + "$ref": "#/definitions/ArchiveState" + }, + "KmsKeyArn": { + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$", + "type": "string" + }, + "Retention": { + "$ref": "#/definitions/ArchiveRetention" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/ArchiveArn", + "/properties/ArchiveId", + "/properties/ArchiveState" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerArchive" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageringresspoint.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageringresspoint.json new file mode 100644 index 0000000000..0b9483d753 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanageringresspoint.json @@ -0,0 +1,205 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type" + ], + "definitions": { + "IngressPointConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SmtpPassword": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$", + "type": "string" + } + }, + "required": [ + "SmtpPassword" + ], + "title": "SmtpPassword", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + } + ] + }, + "IngressPointStatus": { + "enum": [ + "PROVISIONING", + "DEPROVISIONING", + "UPDATING", + "ACTIVE", + "CLOSED", + "FAILED" + ], + "type": "string" + }, + "IngressPointStatusToUpdate": { + "enum": [ + "ACTIVE", + "CLOSED" + ], + "type": "string" + }, + "IngressPointType": { + "enum": [ + "OPEN", + "AUTH" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:CreateIngressPoint", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ses:GetIngressPoint", + "ses:DeleteIngressPoint" + ] + }, + "list": { + "permissions": [ + "ses:ListIngressPoints" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetIngressPoint" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetIngressPoint", + "ses:UpdateIngressPoint" + ] + } + }, + "primaryIdentifier": [ + "/properties/IngressPointId" + ], + "properties": { + "ARecord": { + "type": "string" + }, + "IngressPointArn": { + "type": "string" + }, + "IngressPointConfiguration": { + "$ref": "#/definitions/IngressPointConfiguration" + }, + "IngressPointId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "IngressPointName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Status": { + "$ref": "#/definitions/IngressPointStatus" + }, + "StatusToUpdate": { + "$ref": "#/definitions/IngressPointStatusToUpdate" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/IngressPointType" + } + }, + "readOnlyProperties": [ + "/properties/IngressPointId", + "/properties/IngressPointArn", + "/properties/Status", + "/properties/ARecord" + ], + "required": [ + "Type", + "TrafficPolicyId", + "RuleSetId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerIngressPoint", + "writeOnlyProperties": [ + "/properties/IngressPointConfiguration" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerrelay.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerrelay.json new file mode 100644 index 0000000000..cde881dba6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerrelay.json @@ -0,0 +1,162 @@ +{ + "additionalProperties": false, + "definitions": { + "NoAuthentication": { + "additionalProperties": false, + "type": "object" + }, + "RelayAuthentication": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SecretArn": { + "pattern": "^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$", + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "title": "SecretArn", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NoAuthentication": { + "$ref": "#/definitions/NoAuthentication" + } + }, + "required": [ + "NoAuthentication" + ], + "title": "NoAuthentication", + "type": "object" + } + ] + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:CreateRelay" + ] + }, + "delete": { + "permissions": [ + "ses:GetRelay", + "ses:DeleteRelay" + ] + }, + "list": { + "permissions": [ + "ses:ListRelays" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRelay" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRelay", + "ses:UpdateRelay" + ] + } + }, + "primaryIdentifier": [ + "/properties/RelayId" + ], + "properties": { + "Authentication": { + "$ref": "#/definitions/RelayAuthentication" + }, + "RelayArn": { + "type": "string" + }, + "RelayId": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "RelayName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_]+$", + "type": "string" + }, + "ServerName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-\\.]+$", + "type": "string" + }, + "ServerPort": { + "maximum": 65535, + "minimum": 1, + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RelayArn", + "/properties/RelayId" + ], + "required": [ + "Authentication", + "ServerName", + "ServerPort" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRelay" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..e6afcb8a01 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagerruleset.json @@ -0,0 +1,884 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:CreateRuleSet" + ] + }, + "delete": { + "permissions": [ + "ses:GetRuleSet", + "ses:DeleteRuleSet" + ] + }, + "list": { + "permissions": [ + "ses:ListRuleSets" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetRuleSet" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetRuleSet", + "ses:UpdateRuleSet" + ] + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagertrafficpolicy.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagertrafficpolicy.json new file mode 100644 index 0000000000..eafc8ec637 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ses-mailmanagertrafficpolicy.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "definitions": { + "AcceptAction": { + "enum": [ + "ALLOW", + "DENY" + ], + "type": "string" + }, + "IngressAnalysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "IngressBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "IngressBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "IngressBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/IngressAnalysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "IngressIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "IngressIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressIpv4Attribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressIpv4Attribute": { + "enum": [ + "SENDER_IP" + ], + "type": "string" + }, + "IngressIpv4Expression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressIpOperator" + }, + "Values": { + "items": { + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([0-9]|[12][0-9]|3[0-2])$", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringEmailAttribute": { + "enum": [ + "RECIPIENT" + ], + "type": "string" + }, + "IngressStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressStringOperator" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "IngressStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "IngressStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "IngressTlsAttribute": { + "enum": [ + "TLS_PROTOCOL" + ], + "type": "string" + }, + "IngressTlsProtocolAttribute": { + "enum": [ + "TLS1_2", + "TLS1_3" + ], + "type": "string" + }, + "IngressTlsProtocolExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/IngressTlsProtocolToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/IngressTlsProtocolOperator" + }, + "Value": { + "$ref": "#/definitions/IngressTlsProtocolAttribute" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "IngressTlsProtocolOperator": { + "enum": [ + "MINIMUM_TLS_VERSION", + "IS" + ], + "type": "string" + }, + "IngressTlsProtocolToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/IngressTlsAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "PolicyCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/IngressStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/IngressIpv4Expression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "TlsExpression": { + "$ref": "#/definitions/IngressTlsProtocolExpression" + } + }, + "required": [ + "TlsExpression" + ], + "title": "TlsExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/IngressBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + } + ] + }, + "PolicyStatement": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AcceptAction" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/PolicyCondition" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Action", + "Conditions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ses:TagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:CreateTrafficPolicy" + ] + }, + "delete": { + "permissions": [ + "ses:GetTrafficPolicy", + "ses:DeleteTrafficPolicy" + ] + }, + "list": { + "permissions": [ + "ses:ListTrafficPolicies" + ] + }, + "read": { + "permissions": [ + "ses:ListTagsForResource", + "ses:GetTrafficPolicy" + ] + }, + "update": { + "permissions": [ + "ses:TagResource", + "ses:UntagResource", + "ses:ListTagsForResource", + "ses:GetTrafficPolicy", + "ses:UpdateTrafficPolicy" + ] + } + }, + "primaryIdentifier": [ + "/properties/TrafficPolicyId" + ], + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AcceptAction" + }, + "MaxMessageSizeBytes": { + "minimum": 1, + "type": "number" + }, + "PolicyStatements": { + "items": { + "$ref": "#/definitions/PolicyStatement" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + }, + "TrafficPolicyArn": { + "type": "string" + }, + "TrafficPolicyId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "TrafficPolicyName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9_\\-]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/TrafficPolicyArn", + "/properties/TrafficPolicyId" + ], + "required": [ + "DefaultAction", + "PolicyStatements" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "ses:TagResource", + "ses:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerTrafficPolicy" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesthinclient-environment.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesthinclient-environment.json deleted file mode 100644 index 927a89baf4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-workspacesthinclient-environment.json +++ /dev/null @@ -1,279 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyArn", - "/properties/DesktopArn" - ], - "definitions": { - "DayOfWeek": { - "enum": [ - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "type": "string" - }, - "Hour": { - "maximum": 23, - "minimum": 0, - "type": "integer" - }, - "MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "ApplyTimeOf": { - "enum": [ - "UTC", - "DEVICE" - ], - "type": "string" - }, - "DaysOfTheWeek": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DayOfWeek" - }, - "maxItems": 7, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EndTimeHour": { - "$ref": "#/definitions/Hour" - }, - "EndTimeMinute": { - "$ref": "#/definitions/Minute" - }, - "StartTimeHour": { - "$ref": "#/definitions/Hour" - }, - "StartTimeMinute": { - "$ref": "#/definitions/Minute" - }, - "Type": { - "enum": [ - "SYSTEM", - "CUSTOM" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Minute": { - "maximum": 59, - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "thinclient:CreateEnvironment", - "thinclient:TagResource", - "thinclient:ListTagsForResource", - "appstream:DescribeStacks", - "workspaces:DescribeWorkspaceDirectories", - "workspaces-web:GetPortal", - "workspaces-web:GetUserSettings", - "kms:DescribeKey", - "kms:CreateGrant", - "kms:GenerateDataKey", - "kms:Decrypt" - ] - }, - "delete": { - "permissions": [ - "thinclient:DeleteEnvironment", - "thinclient:UntagResource", - "kms:Decrypt", - "kms:RetireGrant" - ] - }, - "list": { - "permissions": [ - "thinclient:ListEnvironment", - "thinclient:ListTagsForResource", - "kms:Decrypt" - ] - }, - "read": { - "permissions": [ - "thinclient:GetEnvironment", - "thinclient:ListTagsForResource", - "kms:Decrypt" - ] - }, - "update": { - "permissions": [ - "appstream:DescribeStacks", - "workspaces:DescribeWorkspaceDirectories", - "workspaces-web:GetPortal", - "workspaces-web:GetUserSettings", - "thinclient:UpdateEnvironment", - "thinclient:ListTagsForResource", - "thinclient:TagResource", - "thinclient:UntagResource", - "kms:Decrypt", - "kms:GenerateDataKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ActivationCode": { - "pattern": "^[a-z]{2}[a-z0-9]{6}$", - "type": "string" - }, - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,12}:[a-zA-Z0-9\\-\\/\\._]+$", - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "DesiredSoftwareSetId": { - "pattern": "^[0-9]{1,9}$", - "type": "string" - }, - "DesktopArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,12}:[a-zA-Z0-9\\-\\/\\._]+$", - "type": "string" - }, - "DesktopEndpoint": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^(https:\\/\\/)[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,32}(:[0-9]{1,5})?(\\/.*)?$", - "type": "string" - }, - "DesktopType": { - "enum": [ - "workspaces", - "appstream", - "workspaces-web" - ], - "type": "string" - }, - "Id": { - "pattern": "^[a-z0-9]{9}$", - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[0-9]{0,12}:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "MaintenanceWindow": { - "$ref": "#/definitions/MaintenanceWindow" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^.+$", - "type": "string" - }, - "PendingSoftwareSetId": { - "pattern": "^[0-9]{1,9}$", - "type": "string" - }, - "PendingSoftwareSetVersion": { - "type": "string" - }, - "RegisteredDevicesCount": { - "minimum": 0, - "type": "integer" - }, - "SoftwareSetComplianceStatus": { - "enum": [ - "COMPLIANT", - "NOT_COMPLIANT", - "NO_REGISTERED_DEVICES" - ], - "type": "string" - }, - "SoftwareSetUpdateMode": { - "enum": [ - "USE_LATEST", - "USE_DESIRED" - ], - "type": "string" - }, - "SoftwareSetUpdateSchedule": { - "enum": [ - "USE_MAINTENANCE_WINDOW", - "APPLY_IMMEDIATELY" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UpdatedAt": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/ActivationCode", - "/properties/Arn", - "/properties/CreatedAt", - "/properties/DesktopType", - "/properties/RegisteredDevicesCount", - "/properties/UpdatedAt", - "/properties/PendingSoftwareSetId", - "/properties/PendingSoftwareSetVersion", - "/properties/SoftwareSetComplianceStatus" - ], - "required": [ - "DesktopArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::WorkSpacesThinClient::Environment" -} 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 dbf3972f1b..f2dc1e44d7 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -667,6 +667,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1324,7 +1325,6 @@ "aws-codeguruprofiler-profilinggroup.json", "aws-codegurureviewer-repositoryassociation.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1779,6 +1779,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -1800,8 +1801,12 @@ "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", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1857,6 +1862,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbclusterparametergroup.json", "aws-neptune-dbinstance.json", "aws-neptune-dbparametergroup.json", @@ -1952,6 +1958,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -1986,7 +1993,6 @@ "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", "aws-resourceexplorer2-view.json", - "aws-resourcegroups-group.json", "aws-rolesanywhere-crl.json", "aws-rolesanywhere-profile.json", "aws-rolesanywhere-trustanchor.json", @@ -2206,6 +2212,7 @@ "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", "aws-workspaces-workspacespool.json", + "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-identityprovider.json", "aws-workspacesweb-ipaccesssettings.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/eu_west_2/aws-location-tracker.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-location-tracker.json deleted file mode 100644 index 49d479d160..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-location-tracker.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyId", - "/properties/TrackerName" - ], - "definitions": { - "PositionFiltering": { - "enum": [ - "TimeBased", - "DistanceBased", - "AccuracyBased" - ], - "type": "string" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/PricingPlan", - "/properties/PricingPlanDataSource" - ], - "handlers": { - "create": { - "permissions": [ - "geo:CreateTracker", - "geo:DescribeTracker", - "geo:TagResource", - "geo:UntagResource", - "kms:DescribeKey", - "kms:CreateGrant" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteTracker", - "geo:DescribeTracker" - ] - }, - "list": { - "permissions": [ - "geo:ListTrackers" - ] - }, - "read": { - "permissions": [ - "geo:DescribeTracker", - "kms:DescribeKey" - ] - }, - "update": { - "permissions": [ - "geo:CreateTracker", - "geo:DescribeTracker", - "geo:TagResource", - "geo:UntagResource", - "kms:DescribeKey", - "kms:CreateGrant", - "geo:UpdateTracker" - ] - } - }, - "primaryIdentifier": [ - "/properties/TrackerName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "EventBridgeEnabled": { - "type": "boolean" - }, - "KmsKeyEnableGeospatialQueries": { - "type": "boolean" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "PositionFiltering": { - "$ref": "#/definitions/PositionFiltering" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "TrackerArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "TrackerName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/TrackerArn", - "/properties/UpdateTime" - ], - "required": [ - "TrackerName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::Tracker" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-resourcegroups-group.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-resourcegroups-group.json new file mode 100644 index 0000000000..bbbc372e7a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-resourcegroups-group.json @@ -0,0 +1,209 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "Configuration": { + "items": { + "$ref": "#/definitions/ConfigurationItem" + }, + "type": "array" + }, + "ConfigurationItem": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/ConfigurationParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "ConfigurationParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/Query" + }, + "Type": { + "enum": [ + "TAG_FILTERS_1_0", + "CLOUDFORMATION_STACK_1_0" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "pattern": "^(?!aws:).+", + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "resource-groups:CreateGroup", + "resource-groups:Tag", + "cloudformation:DescribeStacks", + "cloudformation:ListStackResources", + "resource-groups:ListGroupResources", + "resource-groups:GroupResources" + ] + }, + "delete": { + "permissions": [ + "resource-groups:DeleteGroup", + "resource-groups:UnGroupResources" + ] + }, + "list": { + "permissions": [ + "resource-groups:ListGroups" + ] + }, + "read": { + "permissions": [ + "resource-groups:GetGroup", + "resource-groups:GetGroupQuery", + "resource-groups:GetTags", + "resource-groups:GetGroupConfiguration", + "resource-groups:ListGroupResources" + ] + }, + "update": { + "permissions": [ + "resource-groups:UpdateGroup", + "resource-groups:GetTags", + "resource-groups:GetGroupQuery", + "resource-groups:UpdateGroupQuery", + "resource-groups:Tag", + "resource-groups:Untag", + "resource-groups:PutGroupConfiguration", + "resource-groups:GetGroupConfiguration", + "resource-groups:ListGroupResources", + "resource-groups:GroupResources", + "resource-groups:UnGroupResources" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/Configuration" + }, + "Description": { + "maxLength": 512, + "type": "string" + }, + "Name": { + "maxLength": 128, + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "resource-groups:Tag", + "resource-groups:Untag" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ResourceGroups::Group" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspacesthinclient-environment.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspacesthinclient-environment.json deleted file mode 100644 index 927a89baf4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspacesthinclient-environment.json +++ /dev/null @@ -1,279 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyArn", - "/properties/DesktopArn" - ], - "definitions": { - "DayOfWeek": { - "enum": [ - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "type": "string" - }, - "Hour": { - "maximum": 23, - "minimum": 0, - "type": "integer" - }, - "MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "ApplyTimeOf": { - "enum": [ - "UTC", - "DEVICE" - ], - "type": "string" - }, - "DaysOfTheWeek": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DayOfWeek" - }, - "maxItems": 7, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EndTimeHour": { - "$ref": "#/definitions/Hour" - }, - "EndTimeMinute": { - "$ref": "#/definitions/Minute" - }, - "StartTimeHour": { - "$ref": "#/definitions/Hour" - }, - "StartTimeMinute": { - "$ref": "#/definitions/Minute" - }, - "Type": { - "enum": [ - "SYSTEM", - "CUSTOM" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Minute": { - "maximum": 59, - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "thinclient:CreateEnvironment", - "thinclient:TagResource", - "thinclient:ListTagsForResource", - "appstream:DescribeStacks", - "workspaces:DescribeWorkspaceDirectories", - "workspaces-web:GetPortal", - "workspaces-web:GetUserSettings", - "kms:DescribeKey", - "kms:CreateGrant", - "kms:GenerateDataKey", - "kms:Decrypt" - ] - }, - "delete": { - "permissions": [ - "thinclient:DeleteEnvironment", - "thinclient:UntagResource", - "kms:Decrypt", - "kms:RetireGrant" - ] - }, - "list": { - "permissions": [ - "thinclient:ListEnvironment", - "thinclient:ListTagsForResource", - "kms:Decrypt" - ] - }, - "read": { - "permissions": [ - "thinclient:GetEnvironment", - "thinclient:ListTagsForResource", - "kms:Decrypt" - ] - }, - "update": { - "permissions": [ - "appstream:DescribeStacks", - "workspaces:DescribeWorkspaceDirectories", - "workspaces-web:GetPortal", - "workspaces-web:GetUserSettings", - "thinclient:UpdateEnvironment", - "thinclient:ListTagsForResource", - "thinclient:TagResource", - "thinclient:UntagResource", - "kms:Decrypt", - "kms:GenerateDataKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ActivationCode": { - "pattern": "^[a-z]{2}[a-z0-9]{6}$", - "type": "string" - }, - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,12}:[a-zA-Z0-9\\-\\/\\._]+$", - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "DesiredSoftwareSetId": { - "pattern": "^[0-9]{1,9}$", - "type": "string" - }, - "DesktopArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,12}:[a-zA-Z0-9\\-\\/\\._]+$", - "type": "string" - }, - "DesktopEndpoint": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^(https:\\/\\/)[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,32}(:[0-9]{1,5})?(\\/.*)?$", - "type": "string" - }, - "DesktopType": { - "enum": [ - "workspaces", - "appstream", - "workspaces-web" - ], - "type": "string" - }, - "Id": { - "pattern": "^[a-z0-9]{9}$", - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[0-9]{0,12}:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "MaintenanceWindow": { - "$ref": "#/definitions/MaintenanceWindow" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^.+$", - "type": "string" - }, - "PendingSoftwareSetId": { - "pattern": "^[0-9]{1,9}$", - "type": "string" - }, - "PendingSoftwareSetVersion": { - "type": "string" - }, - "RegisteredDevicesCount": { - "minimum": 0, - "type": "integer" - }, - "SoftwareSetComplianceStatus": { - "enum": [ - "COMPLIANT", - "NOT_COMPLIANT", - "NO_REGISTERED_DEVICES" - ], - "type": "string" - }, - "SoftwareSetUpdateMode": { - "enum": [ - "USE_LATEST", - "USE_DESIRED" - ], - "type": "string" - }, - "SoftwareSetUpdateSchedule": { - "enum": [ - "USE_MAINTENANCE_WINDOW", - "APPLY_IMMEDIATELY" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UpdatedAt": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/ActivationCode", - "/properties/Arn", - "/properties/CreatedAt", - "/properties/DesktopType", - "/properties/RegisteredDevicesCount", - "/properties/UpdatedAt", - "/properties/PendingSoftwareSetId", - "/properties/PendingSoftwareSetVersion", - "/properties/SoftwareSetComplianceStatus" - ], - "required": [ - "DesktopArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::WorkSpacesThinClient::Environment" -} 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 edc58b3707..8f84b38edf 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -555,6 +555,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::LicenseManager::Grant", "AWS::LicenseManager::License", "AWS::Lightsail::Alarm", @@ -1116,7 +1117,6 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1470,6 +1470,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-lightsail-alarm.json", @@ -1539,6 +1540,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/eu_west_3/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} 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 c5712789d2..cb36304f0c 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -728,7 +728,6 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", - "aws-cloudformation-stackset.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -756,7 +755,6 @@ "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", @@ -898,6 +896,7 @@ "aws-eks-nodegroup.json", "aws-eks-podidentityassociation.json", "aws-elasticache-cachecluster.json", + "aws-elasticache-parametergroup.json", "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", @@ -992,6 +991,9 @@ "aws-lambda-permission.json", "aws-lambda-version.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -1117,6 +1119,7 @@ "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", + "aws-secretsmanager-secret.json", "aws-securityhub-automationrule.json", "aws-securityhub-delegatedadmin.json", "aws-securityhub-hub.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-cloudformation-stackset.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-stackset.json similarity index 97% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-cloudformation-stackset.json rename to src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-stackset.json index 792fccc85b..5f3fa6e905 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-cloudformation-stackset.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-stackset.json @@ -37,13 +37,6 @@ ], "type": "string" }, - "ConcurrencyMode": { - "enum": [ - "STRICT_FAILURE_TOLERANCE", - "SOFT_FAILURE_TOLERANCE" - ], - "type": "string" - }, "DeploymentTargets": { "additionalProperties": false, "properties": { @@ -86,9 +79,6 @@ "OperationPreferences": { "additionalProperties": false, "properties": { - "ConcurrencyMode": { - "$ref": "#/definitions/ConcurrencyMode" - }, "FailureToleranceCount": { "minimum": 0, "type": "integer" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/il_central_1/aws-elasticache-parametergroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-parametergroup.json deleted file mode 100644 index c524f26845..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-parametergroup.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CacheParameterGroupFamily" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "CacheParameterGroupFamily": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Properties": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Description", - "CacheParameterGroupFamily" - ], - "typeName": "AWS::ElastiCache::ParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secret.json deleted file mode 100644 index 8cf3aab10e..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-secret.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "integer" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetRandomPassword", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ] - }, - "delete": { - "permissions": [ - "secretsmanager:DeleteSecret", - "secretsmanager:DescribeSecret", - "secretsmanager:RemoveRegionsFromReplication" - ] - }, - "list": { - "permissions": [ - "secretsmanager:ListSecrets" - ] - }, - "read": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ] - }, - "update": { - "permissions": [ - "secretsmanager:UpdateSecret", - "secretsmanager:TagResource", - "secretsmanager:UntagResource", - "secretsmanager:GetRandomPassword", - "secretsmanager:GetSecretValue", - "secretsmanager:ReplicateSecretToRegions", - "secretsmanager:RemoveRegionsFromReplication" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/GenerateSecretString" - }, - "Id": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicaRegion" - }, - "type": "array", - "uniqueItems": false - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SecretsManager::Secret", - "writeOnlyProperties": [ - "/properties/SecretString", - "/properties/GenerateSecretString" - ] -} 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 06bd89f314..a5b0b953c5 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -426,6 +426,7 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -758,7 +759,6 @@ "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", @@ -1040,7 +1040,11 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1067,6 +1071,7 @@ "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", "aws-msk-vpcconnection.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", @@ -1094,6 +1099,7 @@ "aws-pipes-pipe.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/me_central_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py index 0bf4dccb7d..0586144249 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -504,6 +504,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -906,7 +907,6 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", - "aws-cloudformation-stackset.json", "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", @@ -938,7 +938,6 @@ "aws-codedeploy-application.json", "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", - "aws-codepipeline-pipeline.json", "aws-codestarnotifications-notificationrule.json", "aws-cognito-identitypool.json", "aws-cognito-identitypoolprincipaltag.json", @@ -1264,7 +1263,11 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1281,6 +1284,7 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbclusterparametergroup.json", "aws-neptune-dbinstance.json", "aws-neptune-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-stackset.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-stackset.json new file mode 100644 index 0000000000..5f3fa6e905 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-stackset.json @@ -0,0 +1,384 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/StackSetName" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PermissionModel", + "/properties/StackSetName" + ], + "definitions": { + "Account": { + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Active": { + "type": "boolean" + }, + "AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "Capability": { + "enum": [ + "CAPABILITY_IAM", + "CAPABILITY_NAMED_IAM", + "CAPABILITY_AUTO_EXPAND" + ], + "type": "string" + }, + "DeploymentTargets": { + "additionalProperties": false, + "properties": { + "AccountFilterType": { + "enum": [ + "NONE", + "UNION", + "INTERSECTION", + "DIFFERENCE" + ], + "type": "string" + }, + "Accounts": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Account" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "AccountsUrl": { + "maxLength": 5120, + "minLength": 1, + "pattern": "(s3://|http(s?)://).+", + "type": "string" + }, + "OrganizationalUnitIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OrganizationalUnitId" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "minimum": 0, + "type": "integer" + }, + "FailureTolerancePercentage": { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + "MaxConcurrentCount": { + "minimum": 1, + "type": "integer" + }, + "MaxConcurrentPercentage": { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + "RegionConcurrencyType": { + "$ref": "#/definitions/RegionConcurrencyType" + }, + "RegionOrder": { + "items": { + "$ref": "#/definitions/Region" + }, + "type": "array" + } + }, + "type": "object" + }, + "OrganizationalUnitId": { + "pattern": "^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$", + "type": "string" + }, + "Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "Region": { + "pattern": "^[a-zA-Z0-9-]{1,128}$", + "type": "string" + }, + "RegionConcurrencyType": { + "enum": [ + "SEQUENTIAL", + "PARALLEL" + ], + "type": "string" + }, + "StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/DeploymentTargets" + }, + "ParameterOverrides": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Parameter" + }, + "type": "array", + "uniqueItems": true + }, + "Regions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Region" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:.*)[a-zA-Z0-9\\s\\:\\_\\.\\/\\=\\+\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "cloudformation:GetTemplateSummary", + "cloudformation:CreateStackSet", + "cloudformation:CreateStackInstances", + "cloudformation:DescribeStackSetOperation", + "cloudformation:ListStackSetOperationResults", + "cloudformation:TagResource", + "iam:PassRole" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "cloudformation:DeleteStackSet", + "cloudformation:DeleteStackInstances", + "cloudformation:DescribeStackSet", + "cloudformation:DescribeStackSetOperation", + "cloudformation:ListStackSetOperationResults", + "cloudformation:UntagResource" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "cloudformation:ListStackSets", + "cloudformation:DescribeStackSet", + "cloudformation:ListStackInstances", + "cloudformation:DescribeStackInstance" + ] + }, + "read": { + "permissions": [ + "cloudformation:DescribeStackSet", + "cloudformation:ListStackInstances", + "cloudformation:DescribeStackInstance" + ] + }, + "update": { + "permissions": [ + "cloudformation:GetTemplateSummary", + "cloudformation:UpdateStackSet", + "cloudformation:CreateStackInstances", + "cloudformation:DeleteStackInstances", + "cloudformation:UpdateStackInstances", + "cloudformation:DescribeStackSet", + "cloudformation:DescribeStackSetOperation", + "cloudformation:ListStackSetOperationResults", + "cloudformation:TagResource", + "cloudformation:UntagResource", + "iam:PassRole" + ], + "timeoutInMinutes": 2160 + } + }, + "oneOf": [ + { + "required": [ + "TemplateURL" + ] + }, + { + "required": [ + "TemplateBody" + ] + } + ], + "primaryIdentifier": [ + "/properties/StackSetId" + ], + "properties": { + "AdministrationRoleARN": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AutoDeployment" + }, + "CallAs": { + "enum": [ + "SELF", + "DELEGATED_ADMIN" + ], + "type": "string" + }, + "Capabilities": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Capability" + }, + "type": "array", + "uniqueItems": true + }, + "Description": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "ExecutionRoleName": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ManagedExecution": { + "additionalProperties": false, + "properties": { + "Active": { + "$ref": "#/definitions/Active" + } + }, + "type": "object" + }, + "OperationPreferences": { + "$ref": "#/definitions/OperationPreferences" + }, + "Parameters": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Parameter" + }, + "type": "array", + "uniqueItems": true + }, + "PermissionModel": { + "enum": [ + "SELF_MANAGED", + "SERVICE_MANAGED" + ], + "type": "string" + }, + "StackInstancesGroup": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackInstances" + }, + "type": "array", + "uniqueItems": true + }, + "StackSetId": { + "type": "string" + }, + "StackSetName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,127}$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "TemplateBody": { + "maxLength": 51200, + "minLength": 1, + "type": "string" + }, + "TemplateURL": { + "maxLength": 5120, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StackSetId" + ], + "required": [ + "StackSetName", + "PermissionModel" + ], + "resourceLink": { + "mappings": { + "StackSetId": "/StackSetId" + }, + "templateUri": "/cloudformation/home?region=${awsRegion}#/stacksets/${StackSetId}" + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation.git", + "typeName": "AWS::CloudFormation::StackSet", + "writeOnlyProperties": [ + "/properties/TemplateURL", + "/properties/OperationPreferences", + "/properties/StackInstancesGroup", + "/properties/CallAs" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/me_south_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} 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 4ed4da8928..af7456b3b8 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -579,6 +579,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::LicenseManager::Grant", "AWS::LicenseManager::License", "AWS::Location::APIKey", @@ -1531,6 +1532,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-location-apikey.json", @@ -1538,6 +1540,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", @@ -1602,6 +1605,7 @@ "aws-msk-replicator.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", @@ -1654,6 +1658,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-location-tracker.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-location-tracker.json deleted file mode 100644 index 49d479d160..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-location-tracker.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KmsKeyId", - "/properties/TrackerName" - ], - "definitions": { - "PositionFiltering": { - "enum": [ - "TimeBased", - "DistanceBased", - "AccuracyBased" - ], - "type": "string" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/PricingPlan", - "/properties/PricingPlanDataSource" - ], - "handlers": { - "create": { - "permissions": [ - "geo:CreateTracker", - "geo:DescribeTracker", - "geo:TagResource", - "geo:UntagResource", - "kms:DescribeKey", - "kms:CreateGrant" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteTracker", - "geo:DescribeTracker" - ] - }, - "list": { - "permissions": [ - "geo:ListTrackers" - ] - }, - "read": { - "permissions": [ - "geo:DescribeTracker", - "kms:DescribeKey" - ] - }, - "update": { - "permissions": [ - "geo:CreateTracker", - "geo:DescribeTracker", - "geo:TagResource", - "geo:UntagResource", - "kms:DescribeKey", - "kms:CreateGrant", - "geo:UpdateTracker" - ] - } - }, - "primaryIdentifier": [ - "/properties/TrackerName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "EventBridgeEnabled": { - "type": "boolean" - }, - "KmsKeyEnableGeospatialQueries": { - "type": "boolean" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "PositionFiltering": { - "$ref": "#/definitions/PositionFiltering" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "TrackerArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "TrackerName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/TrackerArn", - "/properties/UpdateTime" - ], - "required": [ - "TrackerName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::Tracker" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py index af76885c3f..66b18107f2 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py @@ -764,6 +764,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-stackset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-stackset.json index 5f3fa6e905..792fccc85b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-stackset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-stackset.json @@ -37,6 +37,13 @@ ], "type": "string" }, + "ConcurrencyMode": { + "enum": [ + "STRICT_FAILURE_TOLERANCE", + "SOFT_FAILURE_TOLERANCE" + ], + "type": "string" + }, "DeploymentTargets": { "additionalProperties": false, "properties": { @@ -79,6 +86,9 @@ "OperationPreferences": { "additionalProperties": false, "properties": { + "ConcurrencyMode": { + "$ref": "#/definitions/ConcurrencyMode" + }, "FailureToleranceCount": { "minimum": 0, "type": "integer" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json index 925fbfe118..49ce5909b4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json @@ -41,6 +41,7 @@ "type": "string" }, "RoleArn": { + "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "RunOrder": { @@ -170,12 +171,12 @@ "additionalProperties": false, "properties": { "Result": { + "enum": [ + "ROLLBACK" + ], "type": "string" } }, - "required": [ - "Result" - ], "type": "object" }, "GitBranchFilterCriteria": { @@ -329,6 +330,9 @@ "$ref": "#/definitions/GitConfiguration" }, "ProviderType": { + "enum": [ + "CodeStarSourceConnection" + ], "type": "string" } }, @@ -358,7 +362,8 @@ "type": "string" }, "OnFailure": { - "$ref": "#/definitions/FailureConditions" + "$ref": "#/definitions/FailureConditions", + "type": "object" } }, "required": [ @@ -418,8 +423,55 @@ "type": "object" } }, + "handlers": { + "create": { + "permissions": [ + "iam:GetRole", + "iam:PassRole", + "codepipeline:GetPipeline", + "codepipeline:CreatePipeline", + "codepipeline:DisableStageTransition", + "codepipeline:GetPipelineState", + "codepipeline:TagResource", + "codestar-connections:PassConnection" + ] + }, + "delete": { + "permissions": [ + "codepipeline:GetPipeline", + "codepipeline:DeletePipeline" + ] + }, + "list": { + "permissions": [ + "codepipeline:ListPipelines" + ] + }, + "read": { + "permissions": [ + "codepipeline:GetPipeline", + "codepipeline:ListTagsForResource", + "codepipeline:GetPipelineState" + ] + }, + "update": { + "permissions": [ + "iam:GetRole", + "iam:PassRole", + "codepipeline:EnableStageTransition", + "codepipeline:StartPipelineExecution", + "codepipeline:GetPipeline", + "codepipeline:UpdatePipeline", + "codepipeline:GetPipelineState", + "codepipeline:DisableStageTransition", + "codepipeline:TagResource", + "codepipeline:UntagResource", + "codestar-connections:PassConnection" + ] + } + }, "primaryIdentifier": [ - "/properties/Id" + "/properties/Name" ], "properties": { "ArtifactStore": { @@ -440,21 +492,29 @@ "uniqueItems": true }, "ExecutionMode": { - "type": "string" - }, - "Id": { + "default": "SUPERSEDED", + "enum": [ + "QUEUED", + "SUPERSEDED", + "PARALLEL" + ], "type": "string" }, "Name": { "type": "string" }, "PipelineType": { + "enum": [ + "V1", + "V2" + ], "type": "string" }, "RestartExecutionOnUpdate": { "type": "boolean" }, "RoleArn": { + "pattern": "arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*", "type": "string" }, "Stages": { @@ -490,7 +550,6 @@ } }, "readOnlyProperties": [ - "/properties/Id", "/properties/Version" ], "required": [ @@ -501,5 +560,16 @@ "ArtifactStore", "ArtifactStores" ], - "typeName": "AWS::CodePipeline::Pipeline" + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codepipeline", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::CodePipeline::Pipeline", + "writeOnlyProperties": [ + "/properties/RestartExecutionOnUpdate" + ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-launchwizard-deployment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-launchwizard-deployment.json new file mode 100644 index 0000000000..08a769db1b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-launchwizard-deployment.json @@ -0,0 +1,235 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DeploymentPatternName", + "/properties/Name", + "/properties/WorkloadName" + ], + "definitions": { + "DeploymentSpecifications": { + "additionalProperties": false, + "maxProperties": 100, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9-:]{3,256}$": { + "maxLength": 1500, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "DeploymentStatus": { + "enum": [ + "COMPLETED", + "CREATING", + "DELETE_IN_PROGRESS", + "DELETE_INITIATING", + "DELETE_FAILED", + "DELETED", + "FAILED", + "IN_PROGRESS", + "VALIDATING" + ], + "type": "string" + }, + "Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "launchwizard:CreateDeployment", + "launchwizard:GetDeployment", + "launchwizard:ListDeploymentEvents", + "launchwizard:ListTagsForResource", + "launchwizard:TagResource", + "ssm:GetParameter", + "ssm:PutParameter", + "ssm:DescribeParameters", + "ssm:AddTagsToResource", + "ssm:DeleteParameter", + "secretsmanager:DescribeSecret", + "secretsmanager:PutSecretValue", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource", + "secretsmanager:UpdateSecret", + "resource-groups:CreateGroup", + "resource-groups:DeleteGroup", + "cloudformation:DeleteStack", + "cloudformation:DescribeStackResources", + "cloudformation:DescribeStackResource", + "cloudformation:DescribeStacks", + "cloudformation:DescribeStackEvents", + "cloudformation:CreateStack", + "cloudformation:TagResource", + "s3:PutObject", + "s3:GetObject", + "s3:CreateBucket", + "sns:ListSubscriptionsByTopic", + "sns:Publish", + "sns:ListSubscriptions", + "sns:ListTopics", + "sns:CreateTopic", + "sns:Subscribe", + "sns:Unsubscribe", + "sqs:TagQueue", + "sqs:GetQueueUrl", + "sqs:AddPermission", + "sqs:ListQueues", + "sqs:GetQueueAttributes", + "sqs:ListQueueTags", + "sqs:CreateQueue", + "sqs:SetQueueAttributes" + ], + "timeoutInMinutes": 370 + }, + "delete": { + "permissions": [ + "launchwizard:GetDeployment", + "launchwizard:DeleteDeployment", + "launchwizard:UntagResource", + "ssm:DeleteParameter", + "secretsmanager:DeleteSecret", + "resource-groups:DeleteGroup", + "cloudformation:DeleteStack", + "cloudformation:DescribeStacks", + "ssm:GetParameter", + "sns:ListSubscriptionsByTopic", + "sns:Publish", + "sns:ListSubscriptions", + "sns:ListTopics", + "sns:CreateTopic", + "sns:DeleteTopic", + "sns:Subscribe", + "sns:Unsubscribe", + "sqs:GetQueueUrl", + "sqs:ListQueues", + "sqs:DeleteQueue", + "sqs:GetQueueAttributes", + "sqs:ListQueueTags" + ] + }, + "list": { + "permissions": [ + "launchwizard:ListDeployments", + "launchwizard:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "launchwizard:GetDeployment", + "launchwizard:ListDeploymentEvents", + "launchwizard:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "launchwizard:GetDeployment", + "launchwizard:ListTagsForResource", + "launchwizard:TagResource", + "launchwizard:UntagResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^arn:aws(-cn|-us-gov)?:launchwizard:[a-z0-9-]+:[0-9]{12}:deployment/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "DeletedAt": { + "format": "date-time", + "type": "string" + }, + "DeploymentId": { + "maxLength": 128, + "minLength": 2, + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + "type": "string" + }, + "DeploymentPatternName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[A-Za-z0-9][a-zA-Z0-9-]*$", + "type": "string" + }, + "Name": { + "maxLength": 50, + "minLength": 1, + "pattern": "^[A-Za-z0-9_\\s\\.-]+$", + "type": "string" + }, + "ResourceGroup": { + "type": "string" + }, + "Specifications": { + "$ref": "#/definitions/DeploymentSpecifications" + }, + "Status": { + "$ref": "#/definitions/DeploymentStatus" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "type": "array" + }, + "WorkloadName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[A-Za-z][a-zA-Z0-9-_]*$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/DeletedAt", + "/properties/DeploymentId", + "/properties/ResourceGroup", + "/properties/Status" + ], + "required": [ + "DeploymentPatternName", + "Name", + "Specifications", + "WorkloadName" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::LaunchWizard::Deployment", + "writeOnlyProperties": [ + "/properties/Specifications" + ] +} 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 65512bcb35..a9b39806b9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -682,6 +682,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::LicenseManager::Grant", "AWS::LicenseManager::License", "AWS::Lightsail::Alarm", @@ -1323,7 +1324,6 @@ "aws-codeguruprofiler-profilinggroup.json", "aws-codegurureviewer-repositoryassociation.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1791,6 +1791,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-lightsail-alarm.json", @@ -1875,6 +1876,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbclusterparametergroup.json", "aws-neptune-dbinstance.json", "aws-neptune-dbparametergroup.json", @@ -1954,6 +1956,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", @@ -2044,7 +2047,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpoint.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", @@ -2065,7 +2067,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", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/us_east_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json new file mode 100644 index 0000000000..5cd4ea45fa --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/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/us_east_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..c2c0daf9fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/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/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py index 8e94b007d2..df44de95dc 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py @@ -1017,6 +1017,9 @@ "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -1032,7 +1035,9 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-neptune-dbsubnetgroup.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", + "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-networkmanager-customergatewayassociation.json", @@ -1106,6 +1111,7 @@ "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", + "aws-secretsmanager-secret.json", "aws-securityhub-automationrule.json", "aws-securityhub-configurationpolicy.json", "aws-securityhub-delegatedadmin.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-loggingconfiguration.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-loggingconfiguration.json deleted file mode 100644 index 53af2a3017..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-networkfirewall-loggingconfiguration.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FirewallName", - "/properties/FirewallArn" - ], - "definitions": { - "LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": false, - "minProperties": 1, - "patternProperties": { - "^[0-9A-Za-z.\\-_@\\/]+$": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "enum": [ - "S3", - "CloudWatchLogs", - "KinesisDataFirehose" - ], - "type": "string" - }, - "LogType": { - "enum": [ - "ALERT", - "FLOW" - ], - "type": "string" - } - }, - "required": [ - "LogType", - "LogDestinationType", - "LogDestination" - ], - "type": "object" - }, - "LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogDestinationConfig" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "s3:PutBucketPolicy", - "s3:GetBucketPolicy", - "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies", - "logs:DescribeLogGroups", - "iam:CreateServiceLinkedRole", - "firehose:TagDeliveryStream", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteLogDelivery", - "logs:ListLogDeliveries", - "logs:GetLogDelivery", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "list": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "read": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "update": { - "permissions": [ - "logs:CreateLogDelivery", - "logs:DeleteLogDelivery", - "logs:GetLogDelivery", - "logs:UpdateLogDelivery", - "logs:ListLogDeliveries", - "s3:PutBucketPolicy", - "s3:GetBucketPolicy", - "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies", - "logs:DescribeLogGroups", - "iam:CreateServiceLinkedRole", - "firehose:TagDeliveryStream", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::NetworkFirewall::LoggingConfiguration" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-secretsmanager-secret.json deleted file mode 100644 index 8cf3aab10e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-secretsmanager-secret.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "integer" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetRandomPassword", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ] - }, - "delete": { - "permissions": [ - "secretsmanager:DeleteSecret", - "secretsmanager:DescribeSecret", - "secretsmanager:RemoveRegionsFromReplication" - ] - }, - "list": { - "permissions": [ - "secretsmanager:ListSecrets" - ] - }, - "read": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ] - }, - "update": { - "permissions": [ - "secretsmanager:UpdateSecret", - "secretsmanager:TagResource", - "secretsmanager:UntagResource", - "secretsmanager:GetRandomPassword", - "secretsmanager:GetSecretValue", - "secretsmanager:ReplicateSecretToRegions", - "secretsmanager:RemoveRegionsFromReplication" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/GenerateSecretString" - }, - "Id": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicaRegion" - }, - "type": "array", - "uniqueItems": false - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SecretsManager::Secret", - "writeOnlyProperties": [ - "/properties/SecretString", - "/properties/GenerateSecretString" - ] -} 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 0929f5f8f2..062160c410 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 @@ -884,7 +884,6 @@ "aws-codedeploy-application.json", "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-cognito-identitypool.json", "aws-cognito-identitypoolprincipaltag.json", @@ -1204,6 +1203,9 @@ "aws-location-routecalculator.json", "aws-location-trackerconsumer.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -1219,7 +1221,9 @@ "aws-msk-configuration.json", "aws-msk-vpcconnection.json", "aws-neptune-dbsubnetgroup.json", + "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", + "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-networkmanager-customergatewayassociation.json", @@ -1331,6 +1335,7 @@ "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", + "aws-secretsmanager-secret.json", "aws-secretsmanager-secrettargetattachment.json", "aws-securityhub-automationrule.json", "aws-securityhub-configurationpolicy.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/us_gov_west_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-loggingconfiguration.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-loggingconfiguration.json deleted file mode 100644 index 53af2a3017..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-networkfirewall-loggingconfiguration.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FirewallName", - "/properties/FirewallArn" - ], - "definitions": { - "LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": false, - "minProperties": 1, - "patternProperties": { - "^[0-9A-Za-z.\\-_@\\/]+$": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "enum": [ - "S3", - "CloudWatchLogs", - "KinesisDataFirehose" - ], - "type": "string" - }, - "LogType": { - "enum": [ - "ALERT", - "FLOW" - ], - "type": "string" - } - }, - "required": [ - "LogType", - "LogDestinationType", - "LogDestination" - ], - "type": "object" - }, - "LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogDestinationConfig" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "s3:PutBucketPolicy", - "s3:GetBucketPolicy", - "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies", - "logs:DescribeLogGroups", - "iam:CreateServiceLinkedRole", - "firehose:TagDeliveryStream", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteLogDelivery", - "logs:ListLogDeliveries", - "logs:GetLogDelivery", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "list": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "read": { - "permissions": [ - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DescribeLoggingConfiguration" - ] - }, - "update": { - "permissions": [ - "logs:CreateLogDelivery", - "logs:DeleteLogDelivery", - "logs:GetLogDelivery", - "logs:UpdateLogDelivery", - "logs:ListLogDeliveries", - "s3:PutBucketPolicy", - "s3:GetBucketPolicy", - "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies", - "logs:DescribeLogGroups", - "iam:CreateServiceLinkedRole", - "firehose:TagDeliveryStream", - "network-firewall:UpdateLoggingConfiguration", - "network-firewall:DescribeLoggingConfiguration" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::NetworkFirewall::LoggingConfiguration" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-secretsmanager-secret.json deleted file mode 100644 index 8cf3aab10e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-secretsmanager-secret.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "integer" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetRandomPassword", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ] - }, - "delete": { - "permissions": [ - "secretsmanager:DeleteSecret", - "secretsmanager:DescribeSecret", - "secretsmanager:RemoveRegionsFromReplication" - ] - }, - "list": { - "permissions": [ - "secretsmanager:ListSecrets" - ] - }, - "read": { - "permissions": [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue" - ] - }, - "update": { - "permissions": [ - "secretsmanager:UpdateSecret", - "secretsmanager:TagResource", - "secretsmanager:UntagResource", - "secretsmanager:GetRandomPassword", - "secretsmanager:GetSecretValue", - "secretsmanager:ReplicateSecretToRegions", - "secretsmanager:RemoveRegionsFromReplication" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/GenerateSecretString" - }, - "Id": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicaRegion" - }, - "type": "array", - "uniqueItems": false - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SecretsManager::Secret", - "writeOnlyProperties": [ - "/properties/SecretString", - "/properties/GenerateSecretString" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py index 20f7d91295..1e5222e47d 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -568,6 +568,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::LicenseManager::Grant", "AWS::LicenseManager::License", "AWS::Logs::AccountPolicy", @@ -1090,7 +1091,6 @@ "aws-codedeploy-deploymentconfig.json", "aws-codedeploy-deploymentgroup.json", "aws-codepipeline-customactiontype.json", - "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1289,6 +1289,7 @@ "aws-elasticbeanstalk-application.json", "aws-elasticbeanstalk-applicationversion.json", "aws-elasticbeanstalk-configurationtemplate.json", + "aws-elasticbeanstalk-environment.json", "aws-elasticloadbalancing-loadbalancer.json", "aws-elasticloadbalancingv2-listener.json", "aws-elasticloadbalancingv2-listenercertificate.json", @@ -1460,9 +1461,13 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-logs-accountpolicy.json", + "aws-logs-delivery.json", + "aws-logs-deliverydestination.json", + "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", @@ -1510,6 +1515,7 @@ "aws-msk-replicator.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbsubnetgroup.json", "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", @@ -1555,6 +1561,7 @@ "aws-pipes-pipe.json", "aws-ram-permission.json", "aws-ram-resourceshare.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-codepipeline-pipeline.json new file mode 100644 index 0000000000..925fbfe118 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-codepipeline-pipeline.json @@ -0,0 +1,505 @@ +{ + "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/us_west_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-delivery.json deleted file mode 100644 index 9d504c7dc9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-delivery.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliverySourceName", - "/properties/DeliveryDestinationArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:CreateDelivery", - "logs:GetDelivery", - "logs:DescribeDeliveries", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:GetDeliverySource", - "logs:GetDeliveryDestination" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDelivery", - "logs:ListTagsForResource", - "logs:UntagResource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveries", - "logs:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:GetDelivery", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryId" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationArn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliveryId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DeliverySourceName": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/DeliveryId", - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "DeliverySourceName", - "DeliveryDestinationArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::Delivery" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-deliverydestination.json deleted file mode 100644 index 41e9e764ad..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-deliverydestination.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/DestinationResourceArn" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "DestinationPolicy": { - "additionalProperties": false, - "properties": { - "DeliveryDestinationName": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "DeliveryDestinationPolicy": { - "maxLength": 51200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DeliveryDestinationName", - "DeliveryDestinationPolicy" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliveryDestination", - "logs:DeleteDeliveryDestinationPolicy" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliveryDestinations", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:GetDeliveryDestinationPolicy" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliveryDestination", - "logs:GetDeliveryDestination", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource", - "logs:DeleteDeliveryDestinationPolicy", - "logs:PutDeliveryDestinationPolicy", - "logs:GetDeliveryDestinationPolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "DeliveryDestinationPolicy": { - "items": { - "$ref": "#/definitions/DestinationPolicy" - }, - "type": "object" - }, - "DeliveryDestinationType": { - "maxLength": 12, - "minLength": 1, - "pattern": "^[0-9A-Za-z]+$", - "type": "string" - }, - "DestinationResourceArn": { - "$ref": "#/definitions/Arn" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DeliveryDestinationType" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliveryDestination" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-deliverysource.json deleted file mode 100644 index 30c5c13d9e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-deliverysource.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 16, - "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:AllowVendedLogDeliveryForResource", - "codewhisperer:AllowVendedLogDeliveryForResource", - "autoloop:AllowVendedLogDeliveryForResource", - "workmail:AllowVendedLogDeliveryForResource" - ] - }, - "delete": { - "permissions": [ - "logs:DeleteDeliverySource" - ] - }, - "list": { - "permissions": [ - "logs:DescribeDeliverySources" - ] - }, - "read": { - "permissions": [ - "logs:GetDeliverySource", - "logs:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "logs:PutDeliverySource", - "logs:GetDeliverySource", - "logs:ListTagsForResource", - "logs:TagResource", - "logs:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "LogType": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Name": { - "maxLength": 60, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "ResourceArn": { - "$ref": "#/definitions/Arn" - }, - "ResourceArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array", - "uniqueItems": true - }, - "Service": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\w-]*$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Service", - "/properties/ResourceArns", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::DeliverySource", - "writeOnlyProperties": [ - "/properties/ResourceArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json deleted file mode 100644 index fc3519fd59..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py index 3d380b7c35..b170173cd8 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -754,6 +754,7 @@ "AWS::Lambda::Permission", "AWS::Lambda::Url", "AWS::Lambda::Version", + "AWS::LaunchWizard::Deployment", "AWS::Lex::Bot", "AWS::Lex::BotAlias", "AWS::Lex::BotVersion", @@ -1437,6 +1438,7 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", + "aws-cloudformation-stackset.json", "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", @@ -1479,6 +1481,7 @@ "aws-codeguruprofiler-profilinggroup.json", "aws-codegurureviewer-repositoryassociation.json", "aws-codepipeline-customactiontype.json", + "aws-codepipeline-pipeline.json", "aws-codepipeline-webhook.json", "aws-codestar-githubrepository.json", "aws-codestarconnections-connection.json", @@ -1580,7 +1583,6 @@ "aws-deadline-farm.json", "aws-deadline-fleet.json", "aws-deadline-licenseendpoint.json", - "aws-deadline-meteredproduct.json", "aws-deadline-monitor.json", "aws-deadline-queue.json", "aws-deadline-queueenvironment.json", @@ -2005,6 +2007,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-lambda-version.json", + "aws-launchwizard-deployment.json", "aws-lex-bot.json", "aws-lex-botalias.json", "aws-lex-botversion.json", @@ -2094,6 +2097,7 @@ "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", + "aws-neptune-dbcluster.json", "aws-neptune-dbclusterparametergroup.json", "aws-neptune-dbinstance.json", "aws-neptune-dbparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-meteredproduct.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-meteredproduct.json new file mode 100644 index 0000000000..3388650a11 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-meteredproduct.json @@ -0,0 +1,88 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LicenseEndpointId", + "/properties/ProductId" + ], + "handlers": { + "create": { + "permissions": [ + "deadline:PutMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "delete": { + "permissions": [ + "deadline:DeleteMeteredProduct", + "deadline:ListMeteredProducts" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "LicenseEndpointId": { + "$ref": "resource-schema.json#/properties/LicenseEndpointId" + } + }, + "required": [ + "LicenseEndpointId" + ] + }, + "permissions": [ + "deadline:ListMeteredProducts" + ] + }, + "read": { + "permissions": [ + "deadline:GetMeteredProduct", + "deadline:ListMeteredProducts" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]{12}:license-endpoint/le-[0-9a-z]{32}/metered-product/[0-9a-z]{1,32}-[.0-9a-z]{1,32}", + "type": "string" + }, + "Family": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "LicenseEndpointId": { + "pattern": "^le-[0-9a-f]{32}$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "ProductId": { + "pattern": "^[0-9a-z]{1,32}-[.0-9a-z]{1,32}$", + "type": "string" + }, + "Vendor": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Port", + "/properties/Family", + "/properties/Vendor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Deadline::MeteredProduct" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-neptune-dbcluster.json deleted file mode 100644 index d682d355d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-neptune-dbcluster.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServerlessScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "maximum": 128, - "minimum": 2.5, - "type": "number" - }, - "MinCapacity": { - "maximum": 128, - "minimum": 1, - "type": "number" - } - }, - "required": [ - "MinCapacity", - "MaxCapacity" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:RemoveFromGlobalCluster", - "rds:CreateDBClusterSnapshot", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters", - "rds:ListTagsForResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBInstances", - "rds:DescribeDBSubnetGroups", - "rds:DescribeGlobalClusters", - "rds:ListTagsForResource", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "kms:*" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AssociatedRoles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AvailabilityZones": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BackupRetentionPeriod": { - "default": 1, - "minimum": 1, - "type": "integer" - }, - "ClusterResourceId": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBPort": { - "type": "integer" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Endpoint": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReadEndpoint": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ServerlessScalingConfiguration": { - "$ref": "#/definitions/ServerlessScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)" - }, - "readOnlyProperties": [ - "/properties/Endpoint", - "/properties/ClusterResourceId", - "/properties/Port", - "/properties/ReadEndpoint" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Neptune::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/UseLatestRestorableTime" - ] -}