diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index c4fa4c6577..b88268ffe1 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -11691,6 +11691,7 @@ "ApplyGuardrail", "AssociateAgentKnowledgeBase", "AssociateThirdPartyKnowledgeBase", + "BatchDeleteEvaluationJob", "CreateAgent", "CreateAgentActionGroup", "CreateAgentAlias", diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index 7717b607f0..2ff751bb63 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"13e2ba2de2278576e21963023dc47eb9\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"40fdba7f574d06f7a09ceab43bdc3480\"", "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 4bfa085f0a..aeb3ffeffc 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"9ba413c4a7bffdd2fe845ae5b377bbeb\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"fd0e23ea8557e7c36e0909438e34cf33\"", "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 7c409e4126..a920ccaaca 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"c5a0d95dbb08a6630ecb0d0afccdc1c9\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cd2db83159ff3733355d8b82d3380f0f\"", "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 2a2dcd1540..e6e1e64da3 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"b3496749571dd1d88c79b5d7f65e01d4\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d0a40450c19352e3abb42722048fb3c3\"", "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 7c210b2f39..8db773d30e 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"babf77f32064122868adcaacd6e6cf2a\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ee5e37431940122b592524a5fcc9bf65\"", "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 6869ccae55..85fcb7189c 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"7b36451bce4de8d4adbb079e44906d70\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"587e246b59a750964b0334f326b85c3f\"", "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 2da6c9ce7d..0ddebd5863 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"31f53d67c72c89b3a0a7d42ae4011bd2\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"01b728d3bc50373b86ab65accbb11f8d\"", "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 ca0402ab6f..2a0efdae89 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"29225c7cfae79adefebdf10cf5f9c40d\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"06edfb8977dbaff88f97dac6e61962a1\"", "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 46424e2477..83a02d2958 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"1072d0485f7b5d06f887e1a9595db65e\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6896f8b3f5d9e206274386ec3e4b1e4f\"", "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 45a7a5b5fb..3b7ddcfd2c 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"ebfe2d60e21a0621519f4bbcb09f73aa\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b086251f3ca43e1c38611193d5b40721\"", "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 8f2278fd81..96df9f7d1e 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"a1f5c3420a76e24c4e6ab98c2450b976\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"29d25f982ee2039286eed99a364c96ca\"", "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 a2be8224a4..a027087de4 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"3ddf68c043d9e9b54a99406435f73fa5\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2692285e98c00bf808e7dbfb6acda3c1\"", "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 426feb586c..ea4a74549d 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"967e93658732751c98a6359c52b76221\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d9056d48579d0b56c91ba5a7e6d39ec7\"", "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 63d0859671..6845e6cb46 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"e7ba3b3b1f564a05f8ef6fbf467edbce\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f2cdccca489cd2d83e1bb18d6b2bd104\"", "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 ef6605a5a4..4ef5ba803a 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"8e514a8ec045575ff059aeb81ed0779b\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0868faa58042c9e9bc5e773a370a35d1\"", "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 4e907fbdc8..612eddc0ba 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"a9e556527d5bb7c0ec81e40b976523c7\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bbb8ae97cbed58baff89126af49cc0e0\"", "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 12f6fa6399..7b2bce2d39 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"ca1e95e2ae322e5e3050179534e27d10\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4d7192ae01f631e9ee17db4ee3819355\"", "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 372b119518..1acd537a1d 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"ea05001abeb1c6d726c9a2b453d18774\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5bab2c853a36a04c50166ea470ae7190\"", "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 6cd516222b..fb8f3dd4e0 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"19efa72570c84eab9dff600f4d48b7a1\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4971e391378d2484b5253af95fb9b999\"", "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 8150b6dad8..a067c5a6ed 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"9cad48037f601bb883e0ec7d728b60ff\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c5197d39f74596fef50c669012a6c164\"", "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 08f9348c68..9fe28ee293 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"6f3328cd84a62d7b2b7971e94d615960\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"95901cf4720e7951759a46f9347ebcad\"", "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 8b6634b42f..7601ed1b3e 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"95603a27f963cea737b1972f8d079417\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f0d9ee6c4f10a39d007849d6fe0b3392\"", "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 0ff080d7fe..367d881abc 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"5f291ba3d1e67c93c345ffdcaf36bef0\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2988a774beb5e0afe17936959596c4f5\"", "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 e00ad60dbb..0bc2c3ad80 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"c6d560fb5796260a954c040ef9e0ad7b\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"874e027f65f91d4ca4f986cb21eb8666\"", "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 6bb01d1c31..5477598cb8 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"090821fcf2cfb2c2421d9507871c725f\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b95e8e902d9e0dc41180e990e3d1ad3f\"", "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 2a38f0a1f9..0fde2a30be 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"dcb6f2b1f562542607d4f4a3ca4d2dfa\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bfb55deaf5e7d557325e7da948b74183\"", "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 11e773e868..dcd217ae88 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"429b619a92b755518f883c1bfafde202\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d981df798eddaeb4741cafda887ec996\"", "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 be5ae2ea4f..ee7cabe20d 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"2612ab90cebe491a5d06f0a8d21c983e\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5741f11933d284acbfbb8b490961614e\"", "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 85e80a1b32..4bc659baf9 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"a098f8aab8e96142bf8528eb90e0c25e\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2c7dbbb304c01cf9d4eb29764dfb0f36\"", "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 a8bb17007f..46e0f62003 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"e985314b846cbb7fc5d7896d2f41b98e\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"eccec640bf2888b27c731200d8ab61e1\"", "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 e012723a4a..75c6c7d315 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"c4c9cff857305c005611e0e9b7aedba5\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9b8e89ddec2033b9f2d54ff988845502\"", "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 12ff13062c..9dfaec760a 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"0bb56400b046eef97c15dc41d85b6d77\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b36e3130915115bdb546bbc000f309b3\"", "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 cbed964113..19e33d77b3 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"0c26a280b66fbb26f9e98da5ed6de5cd\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"26d199108e465cfbfc956ec44b79a8eb\"", "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 95d05c85c8..69d84a5f42 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 @@ -134,8 +134,10 @@ "15.4", "15.5", "15.6", + "15.7", "16.1", - "16.2" + "16.2", + "16.3" ] } } 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 de2f20df9e..269ae5a093 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 @@ -150,8 +150,10 @@ "15.4", "15.5", "15.6", + "15.7", "16.1", - "16.2" + "16.2", + "16.3" ] } } diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_dynamodb_table/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_dynamodb_table/boto.json index edff5e3ba8..31cbfe0f11 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_dynamodb_table/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_dynamodb_table/boto.json @@ -18,7 +18,7 @@ }, { "op": "add", - "path": "/definitions/KeySchema/items/properties/KeyType/enum", + "path": "/definitions/KeySchema/properties/KeyType/enum", "value": [ "HASH", "RANGE" 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 35b8f926e5..cf6d6a8016 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -821,7 +821,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1096,7 +1095,6 @@ "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1272,7 +1270,6 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1395,7 +1392,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -1500,6 +1496,7 @@ "aws-servicediscovery-privatednsnamespace.json", "aws-servicediscovery-publicdnsnamespace.json", "aws-servicediscovery-service.json", + "aws-ses-configurationset.json", "aws-ses-configurationseteventdestination.json", "aws-ses-contactlist.json", "aws-ses-dedicatedippool.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-placementgroup.json similarity index 95% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-placementgroup.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-placementgroup.json index f402ccef3c..64adef22fe 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-placementgroup.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-placementgroup.json @@ -89,10 +89,6 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", "tagging": { "cloudFormationSystemTags": false, - "permissions": [ - "ec2:CreateTags" - ], - "tagProperty": "/properties/Tags", "tagUpdatable": false, "taggable": true }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-kms-replicakey.json similarity index 98% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-kms-replicakey.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-kms-replicakey.json index ea02377b7f..2e2f867928 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-kms-replicakey.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-kms-replicakey.json @@ -121,7 +121,6 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagProperty": "/properties/Tags", "tagUpdatable": true, "taggable": true }, diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-redshift-cluster.json similarity index 97% rename from src/cfnlint/data/schemas/providers/ca_west_1/aws-redshift-cluster.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-redshift-cluster.json index 639ad55d38..f82a300c72 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-redshift-cluster.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-redshift-cluster.json @@ -32,17 +32,6 @@ }, "type": "string" }, - "LogDestinationType": { - "type": "string" - }, - "LogExports": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "type": "array" - }, "S3KeyPrefix": { "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json deleted file mode 100644 index e5780caa5e..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "required": [ - "CustomRedirectDomain" - ], - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py index 0445f80adb..094540709b 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -805,7 +805,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1063,7 +1062,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1270,7 +1268,6 @@ "aws-kinesisvideo-stream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1376,7 +1373,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-placementgroup.json similarity index 95% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-placementgroup.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-placementgroup.json index f402ccef3c..64adef22fe 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-placementgroup.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-placementgroup.json @@ -89,10 +89,6 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", "tagging": { "cloudFormationSystemTags": false, - "permissions": [ - "ec2:CreateTags" - ], - "tagProperty": "/properties/Tags", "tagUpdatable": false, "taggable": true }, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kms-replicakey.json similarity index 98% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-kms-replicakey.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-kms-replicakey.json index ea02377b7f..2e2f867928 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-kms-replicakey.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kms-replicakey.json @@ -121,7 +121,6 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagProperty": "/properties/Tags", "tagUpdatable": true, "taggable": true }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-redshift-cluster.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_2/aws-redshift-cluster.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-redshift-cluster.json index 639ad55d38..f82a300c72 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshift-cluster.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-redshift-cluster.json @@ -32,17 +32,6 @@ }, "type": "string" }, - "LogDestinationType": { - "type": "string" - }, - "LogExports": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "type": "array" - }, "S3KeyPrefix": { "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py index 31fa6d983a..aa8bfd3a2d 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -158,6 +158,8 @@ "AWS::CleanRooms::Collaboration", "AWS::CleanRooms::ConfiguredTable", "AWS::CleanRooms::ConfiguredTableAssociation", + "AWS::CleanRooms::IdMappingTable", + "AWS::CleanRooms::IdNamespaceAssociation", "AWS::CleanRooms::Membership", "AWS::CleanRooms::PrivacyBudgetTemplate", "AWS::CleanRoomsML::TrainingDataset", @@ -1232,7 +1234,6 @@ "alexa-ask-skill.json", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1384,6 +1385,8 @@ "aws-cleanrooms-collaboration.json", "aws-cleanrooms-configuredtable.json", "aws-cleanrooms-configuredtableassociation.json", + "aws-cleanrooms-idmappingtable.json", + "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", "aws-cleanrooms-privacybudgettemplate.json", "aws-cleanroomsml-trainingdataset.json", @@ -1528,7 +1531,6 @@ "aws-datasync-storagesystem.json", "aws-datasync-task.json", "aws-datazone-datasource.json", - "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentblueprintconfiguration.json", "aws-datazone-environmentprofile.json", @@ -1541,14 +1543,11 @@ "aws-dax-parametergroup.json", "aws-dax-subnetgroup.json", "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", "aws-deadline-queuefleetassociation.json", - "aws-deadline-storageprofile.json", "aws-detective-graph.json", "aws-detective-memberinvitation.json", "aws-detective-organizationadmin.json", @@ -1620,7 +1619,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -2020,6 +2018,8 @@ "aws-medialive-channel.json", "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", + "aws-medialive-multiplex.json", + "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -2207,7 +2207,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", @@ -2247,6 +2246,7 @@ "aws-sagemaker-modelbiasjobdefinition.json", "aws-sagemaker-modelcard.json", "aws-sagemaker-modelexplainabilityjobdefinition.json", + "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", "aws-sagemaker-modelqualityjobdefinition.json", "aws-sagemaker-monitoringschedule.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-domain.json new file mode 100644 index 0000000000..73d0afbde2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-domain.json @@ -0,0 +1,188 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/Name" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyIdentifier" + ], + "definitions": { + "AuthType": { + "enum": [ + "IAM_IDC", + "DISABLED" + ], + "type": "string" + }, + "DomainStatus": { + "enum": [ + "CREATING", + "AVAILABLE", + "CREATION_FAILED", + "DELETING", + "DELETED", + "DELETION_FAILED" + ], + "type": "string" + }, + "SingleSignOn": { + "additionalProperties": false, + "properties": { + "Type": { + "$ref": "#/definitions/AuthType" + }, + "UserAssignment": { + "$ref": "#/definitions/UserAssignment" + } + }, + "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" + }, + "UserAssignment": { + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateDomain", + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteDomain", + "datazone:GetDomain" + ] + }, + "list": { + "permissions": [ + "datazone:ListDomains" + ] + }, + "read": { + "permissions": [ + "datazone:GetDomain" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "datazone:UntagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "pattern": "^arn:aws(|-cn|-us-gov):datazone:\\w+(?:-\\w+)+:\\d{12}:domain/dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainExecutionRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + "type": "string" + }, + "Id": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "KmsKeyIdentifier": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "LastUpdatedAt": { + "format": "date-time", + "type": "string" + }, + "ManagedAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PortalUrl": { + "type": "string" + }, + "SingleSignOn": { + "$ref": "#/definitions/SingleSignOn" + }, + "Status": { + "$ref": "#/definitions/DomainStatus" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/LastUpdatedAt", + "/properties/ManagedAccountId", + "/properties/PortalUrl", + "/properties/Status" + ], + "required": [ + "DomainExecutionRole", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataZone::Domain" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-fleet.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-fleet.json similarity index 99% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-fleet.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-fleet.json index 4a335d541a..5fa78cdcc1 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-fleet.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-fleet.json @@ -566,7 +566,6 @@ "required": [ "Configuration", "DisplayName", - "FarmId", "MaxWorkerCount", "RoleArn" ], diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-queue.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-queue.json similarity index 99% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-queue.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-queue.json index 6d77aef2a5..bc404e7daf 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-queue.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-queue.json @@ -260,8 +260,7 @@ "/properties/Arn" ], "required": [ - "DisplayName", - "FarmId" + "DisplayName" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", "tagging": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-storageprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-storageprofile.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-storageprofile.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-storageprofile.json index 8665cc99d8..47def71914 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-storageprofile.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-deadline-storageprofile.json @@ -125,7 +125,6 @@ ], "required": [ "DisplayName", - "FarmId", "OsFamily" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-placementgroup.json similarity index 95% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-placementgroup.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-placementgroup.json index f402ccef3c..64adef22fe 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-placementgroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-placementgroup.json @@ -89,10 +89,6 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", "tagging": { "cloudFormationSystemTags": false, - "permissions": [ - "ec2:CreateTags" - ], - "tagProperty": "/properties/Tags", "tagUpdatable": false, "taggable": true }, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..82fe54c7d3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-route53resolver-resolverrule.json @@ -0,0 +1,166 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "route53resolver:CreateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource" + ] + }, + "delete": { + "permissions": [ + "route53resolver:DeleteResolverRule", + "route53resolver:GetResolverRule" + ] + }, + "list": { + "permissions": [ + "route53resolver:ListResolverRules" + ] + }, + "read": { + "permissions": [ + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "route53resolver:UpdateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DelegationRecord": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py index ba6278e4cf..efb65b2795 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -141,6 +141,8 @@ "AWS::CleanRooms::Collaboration", "AWS::CleanRooms::ConfiguredTable", "AWS::CleanRooms::ConfiguredTableAssociation", + "AWS::CleanRooms::IdMappingTable", + "AWS::CleanRooms::IdNamespaceAssociation", "AWS::CleanRooms::Membership", "AWS::CleanRooms::PrivacyBudgetTemplate", "AWS::CleanRoomsML::TrainingDataset", @@ -1121,7 +1123,6 @@ "alexa-ask-skill.json", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1255,6 +1256,8 @@ "aws-cleanrooms-collaboration.json", "aws-cleanrooms-configuredtable.json", "aws-cleanrooms-configuredtableassociation.json", + "aws-cleanrooms-idmappingtable.json", + "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", "aws-cleanrooms-privacybudgettemplate.json", "aws-cleanroomsml-trainingdataset.json", @@ -1391,7 +1394,6 @@ "aws-datasync-storagesystem.json", "aws-datasync-task.json", "aws-datazone-datasource.json", - "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentblueprintconfiguration.json", "aws-datazone-environmentprofile.json", @@ -1470,7 +1472,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1761,7 +1762,6 @@ "aws-kinesisvideo-stream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1833,8 +1833,6 @@ "aws-medialive-channel.json", "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -1956,7 +1954,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -2035,7 +2032,6 @@ "aws-sagemaker-modelbiasjobdefinition.json", "aws-sagemaker-modelcard.json", "aws-sagemaker-modelexplainabilityjobdefinition.json", - "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", "aws-sagemaker-modelqualityjobdefinition.json", "aws-sagemaker-monitoringschedule.json", @@ -2133,6 +2129,7 @@ "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", + "aws-stepfunctions-activity.json", "aws-stepfunctions-statemachine.json", "aws-stepfunctions-statemachinealias.json", "aws-stepfunctions-statemachineversion.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-datazone-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-datazone-domain.json new file mode 100644 index 0000000000..73d0afbde2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-datazone-domain.json @@ -0,0 +1,188 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/Name" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyIdentifier" + ], + "definitions": { + "AuthType": { + "enum": [ + "IAM_IDC", + "DISABLED" + ], + "type": "string" + }, + "DomainStatus": { + "enum": [ + "CREATING", + "AVAILABLE", + "CREATION_FAILED", + "DELETING", + "DELETED", + "DELETION_FAILED" + ], + "type": "string" + }, + "SingleSignOn": { + "additionalProperties": false, + "properties": { + "Type": { + "$ref": "#/definitions/AuthType" + }, + "UserAssignment": { + "$ref": "#/definitions/UserAssignment" + } + }, + "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" + }, + "UserAssignment": { + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateDomain", + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteDomain", + "datazone:GetDomain" + ] + }, + "list": { + "permissions": [ + "datazone:ListDomains" + ] + }, + "read": { + "permissions": [ + "datazone:GetDomain" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "datazone:UntagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "pattern": "^arn:aws(|-cn|-us-gov):datazone:\\w+(?:-\\w+)+:\\d{12}:domain/dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainExecutionRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + "type": "string" + }, + "Id": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "KmsKeyIdentifier": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "LastUpdatedAt": { + "format": "date-time", + "type": "string" + }, + "ManagedAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PortalUrl": { + "type": "string" + }, + "SingleSignOn": { + "$ref": "#/definitions/SingleSignOn" + }, + "Status": { + "$ref": "#/definitions/DomainStatus" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/LastUpdatedAt", + "/properties/ManagedAccountId", + "/properties/PortalUrl", + "/properties/Status" + ], + "required": [ + "DomainExecutionRole", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataZone::Domain" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-placementgroup.json similarity index 53% rename from src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-placementgroup.json index 4e6803a430..64adef22fe 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-placementgroup.json @@ -1,16 +1,10 @@ { - "additionalIdentifiers": [ - [ - "/properties/KeyPairId" - ] - ], "additionalProperties": false, "createOnlyProperties": [ - "/properties/KeyName", - "/properties/KeyType", - "/properties/KeyFormat", - "/properties/PublicKeyMaterial", - "/properties/Tags" + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" ], "definitions": { "Tag": { @@ -37,62 +31,49 @@ "handlers": { "create": { "permissions": [ - "ec2:CreateKeyPair", - "ec2:ImportKeyPair", - "ec2:CreateTags", - "ssm:PutParameter" + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" ] }, "delete": { "permissions": [ - "ec2:DeleteKeyPair", - "ssm:DeleteParameter", - "ec2:DescribeKeyPairs" + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" ] }, "list": { "permissions": [ - "ec2:DescribeKeyPairs" + "ec2:DescribePlacementGroups" ] }, "read": { "permissions": [ - "ec2:DescribeKeyPairs" + "ec2:DescribePlacementGroups" ] } }, "primaryIdentifier": [ - "/properties/KeyName" + "/properties/GroupName" ], "properties": { - "KeyFingerprint": { + "GroupName": { "type": "string" }, - "KeyFormat": { - "default": "pem", - "enum": [ - "pem", - "ppk" - ], - "type": "string" + "PartitionCount": { + "type": "integer" }, - "KeyName": { + "SpreadLevel": { "type": "string" }, - "KeyPairId": { - "type": "string" - }, - "KeyType": { - "default": "rsa", + "Strategy": { "enum": [ - "rsa", - "ed25519" + "cluster", + "partition", + "spread" ], "type": "string" }, - "PublicKeyMaterial": { - "type": "string" - }, "Tags": { "insertionOrder": false, "items": { @@ -103,20 +84,13 @@ } }, "readOnlyProperties": [ - "/properties/KeyPairId", - "/properties/KeyFingerprint" - ], - "required": [ - "KeyName" + "/properties/GroupName" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", "tagging": { "cloudFormationSystemTags": false, "tagUpdatable": false, "taggable": true }, - "typeName": "AWS::EC2::KeyPair", - "writeOnlyProperties": [ - "/properties/KeyFormat" - ] + "typeName": "AWS::EC2::PlacementGroup" } diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kms-replicakey.json similarity index 98% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-kms-replicakey.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kms-replicakey.json index ea02377b7f..2e2f867928 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-kms-replicakey.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kms-replicakey.json @@ -121,7 +121,6 @@ "tagging": { "cloudFormationSystemTags": false, "tagOnCreate": true, - "tagProperty": "/properties/Tags", "tagUpdatable": true, "taggable": true }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-multiplex.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-multiplex.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-multiplex.json index 179f2709e2..4473e08aba 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-multiplex.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-multiplex.json @@ -168,10 +168,6 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", "tagging": { "cloudFormationSystemTags": false, - "permissions": [ - "medialive:CreateTags", - "medialive:DeleteTags" - ], "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-multiplexprogram.json similarity index 98% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-multiplexprogram.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-multiplexprogram.json index 805a8a0951..2a30458471 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-multiplexprogram.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-multiplexprogram.json @@ -254,9 +254,6 @@ "type": "string" } }, - "readOnlyProperties": [ - "/properties/ChannelId" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", "tagging": { "taggable": false diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-modelpackage.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-modelpackage.json similarity index 88% rename from src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-modelpackage.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-modelpackage.json index 04be3e312c..c6c497c7ad 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-modelpackage.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-modelpackage.json @@ -1,9 +1,5 @@ { "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/ModelCard", - "/properties/SourceUri" - ], "createOnlyProperties": [ "/properties/ModelPackageGroupName", "/properties/ModelPackageDescription", @@ -16,8 +12,7 @@ "/properties/DriftCheckBaselines", "/properties/Domain", "/properties/Task", - "/properties/SamplePayloadUrl", - "/properties/SecurityConfig" + "/properties/SamplePayloadUrl" ], "definitions": { "AdditionalInferenceSpecificationDefinition": { @@ -382,18 +377,6 @@ ], "type": "object" }, - "ModelAccessConfig": { - "additionalProperties": false, - "properties": { - "AcceptEula": { - "type": "boolean" - } - }, - "required": [ - "AcceptEula" - ], - "type": "object" - }, "ModelApprovalStatus": { "enum": [ "Approved", @@ -402,31 +385,6 @@ ], "type": "string" }, - "ModelCard": { - "additionalProperties": false, - "properties": { - "ModelCardContent": { - "maxLength": 100000, - "minLength": 0, - "pattern": ".*", - "type": "string" - }, - "ModelCardStatus": { - "enum": [ - "Draft", - "PendingReview", - "Approved", - "Archived" - ], - "type": "string" - } - }, - "required": [ - "ModelCardContent", - "ModelCardStatus" - ], - "type": "object" - }, "ModelDataQuality": { "additionalProperties": false, "properties": { @@ -439,15 +397,6 @@ }, "type": "object" }, - "ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/S3ModelDataSource" - } - }, - "type": "object" - }, "ModelMetrics": { "additionalProperties": false, "properties": { @@ -503,9 +452,6 @@ "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$", "type": "string" }, - "ModelDataSource": { - "$ref": "#/definitions/ModelDataSource" - }, "ModelDataUrl": { "maxLength": 1024, "pattern": "^(https|s3)://([^/]+)/?(.*)$", @@ -644,58 +590,11 @@ ], "type": "object" }, - "S3ModelDataSource": { - "additionalProperties": false, - "properties": { - "CompressionType": { - "enum": [ - "None", - "Gzip" - ], - "type": "string" - }, - "ModelAccessConfig": { - "$ref": "#/definitions/ModelAccessConfig" - }, - "S3DataType": { - "enum": [ - "S3Prefix", - "S3Object" - ], - "type": "string" - }, - "S3Uri": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "required": [ - "S3DataType", - "S3Uri", - "CompressionType" - ], - "type": "object" - }, "SamplePayloadUrl": { "maxLength": 1024, "pattern": "^(https|s3)://([^/]+)/?(.*)$", "type": "string" }, - "SecurityConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "maxLength": 2048, - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - } - }, - "required": [ - "KmsKeyId" - ], - "type": "object" - }, "SkipModelValidation": { "enum": [ "None", @@ -742,12 +641,6 @@ ], "type": "object" }, - "SourceUri": { - "maxLength": 1024, - "minLength": 0, - "pattern": "[\\p{L}\\p{M}\\p{Z}\\p{N}\\p{P}]{0,1024}", - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -960,22 +853,14 @@ "sagemaker:DescribeTransformJob", "sagemaker:DescribeModelPackage", "sagemaker:ListTags", - "sagemaker:UpdateModelPackage", "iam:PassRole", - "s3:GetObject", - "s3:ListBucket", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" + "s3:GetObject" ] }, "delete": { "permissions": [ "sagemaker:DeleteModelPackage", - "sagemaker:DescribeModelPackage", - "kms:DescribeKey", - "kms:Decrypt" + "sagemaker:DescribeModelPackage" ] }, "list": { @@ -993,25 +878,16 @@ "read": { "permissions": [ "sagemaker:DescribeModelPackage", - "sagemaker:ListTags", - "kms:DescribeKey", - "kms:Decrypt" + "sagemaker:ListTags" ] }, "update": { "permissions": [ - "ecr:BatchGetImage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackage", "sagemaker:ListTags", "sagemaker:AddTags", - "sagemaker:DeleteTags", - "s3:GetObject", - "s3:ListBucket", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" + "sagemaker:DeleteTags" ] } }, @@ -1058,9 +934,6 @@ "ModelApprovalStatus": { "$ref": "#/definitions/ModelApprovalStatus" }, - "ModelCard": { - "$ref": "#/definitions/ModelCard" - }, "ModelMetrics": { "$ref": "#/definitions/ModelMetrics" }, @@ -1088,18 +961,12 @@ "SamplePayloadUrl": { "$ref": "#/definitions/SamplePayloadUrl" }, - "SecurityConfig": { - "$ref": "#/definitions/SecurityConfig" - }, "SkipModelValidation": { "$ref": "#/definitions/SkipModelValidation" }, "SourceAlgorithmSpecification": { "$ref": "#/definitions/SourceAlgorithmSpecification" }, - "SourceUri": { - "$ref": "#/definitions/SourceUri" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json deleted file mode 100644 index bef2b2f085..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/EncryptionConfiguration" - ], - "definitions": { - "EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsDataKeyReusePeriodSeconds": { - "maximum": 900, - "minimum": 60, - "type": "integer" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Type": { - "enum": [ - "CUSTOMER_MANAGED_KMS_KEY", - "AWS_OWNED_KEY" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "states:CreateActivity", - "states:TagResource", - "kms:DescribeKey" - ] - }, - "delete": { - "permissions": [ - "states:DescribeActivity", - "states:DeleteActivity" - ] - }, - "list": { - "permissions": [ - "states:ListActivities" - ] - }, - "read": { - "permissions": [ - "states:DescribeActivity", - "states:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "states:ListTagsForResource", - "states:TagResource", - "states:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "Name": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TagsEntry" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::StepFunctions::Activity" -} 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 6d01e06b6d..a41af22187 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -787,7 +787,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1010,7 +1009,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1182,7 +1180,6 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1226,8 +1223,6 @@ "aws-mediaconnect-flowsource.json", "aws-mediaconnect-flowvpcinterface.json", "aws-mediaconnect-gateway.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -1255,6 +1250,7 @@ "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", + "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-networkmanager-connectattachment.json", @@ -1309,7 +1305,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -1348,7 +1343,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", @@ -1381,6 +1375,7 @@ "aws-sagemaker-modelbiasjobdefinition.json", "aws-sagemaker-modelcard.json", "aws-sagemaker-modelexplainabilityjobdefinition.json", + "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", "aws-sagemaker-modelqualityjobdefinition.json", "aws-sagemaker-monitoringschedule.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplex.json similarity index 97% rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-medialive-multiplex.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplex.json index 179f2709e2..4473e08aba 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-medialive-multiplex.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplex.json @@ -168,10 +168,6 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", "tagging": { "cloudFormationSystemTags": false, - "permissions": [ - "medialive:CreateTags", - "medialive:DeleteTags" - ], "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplexprogram.json similarity index 98% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-multiplexprogram.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplexprogram.json index 805a8a0951..2a30458471 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-multiplexprogram.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplexprogram.json @@ -254,9 +254,6 @@ "type": "string" } }, - "readOnlyProperties": [ - "/properties/ChannelId" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", "tagging": { "taggable": false diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-loggingconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-loggingconfiguration.json deleted file mode 100644 index ff5a0f03b8..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-networkfirewall-loggingconfiguration.json +++ /dev/null @@ -1,148 +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" - ] - }, - "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/ap_northeast_3/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..82fe54c7d3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-route53resolver-resolverrule.json @@ -0,0 +1,166 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "route53resolver:CreateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource" + ] + }, + "delete": { + "permissions": [ + "route53resolver:DeleteResolverRule", + "route53resolver:GetResolverRule" + ] + }, + "list": { + "permissions": [ + "route53resolver:ListResolverRules" + ] + }, + "read": { + "permissions": [ + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "route53resolver:UpdateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DelegationRecord": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py index 002f68b171..371d37245f 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -1129,7 +1129,6 @@ "alexa-ask-skill.json", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1313,9 +1312,7 @@ "aws-cloudwatch-dashboard.json", "aws-cloudwatch-insightrule.json", "aws-cloudwatch-metricstream.json", - "aws-codeartifact-domain.json", "aws-codeartifact-packagegroup.json", - "aws-codeartifact-repository.json", "aws-codebuild-fleet.json", "aws-codebuild-project.json", "aws-codebuild-reportgroup.json", @@ -1475,7 +1472,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1519,6 +1515,7 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcgatewayattachment.json", "aws-ec2-vpcpeeringconnection.json", + "aws-ec2-vpnconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", "aws-ec2-vpngatewayroutepropagation.json", @@ -1628,6 +1625,7 @@ "aws-glue-securityconfiguration.json", "aws-glue-table.json", "aws-glue-tableoptimizer.json", + "aws-glue-trigger.json", "aws-glue-workflow.json", "aws-greengrass-connectordefinition.json", "aws-greengrass-connectordefinitionversion.json", @@ -1763,7 +1761,6 @@ "aws-kinesisvideo-stream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1834,8 +1831,6 @@ "aws-medialive-channel.json", "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -1874,20 +1869,15 @@ "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", - "aws-networkmanager-connectattachment.json", "aws-networkmanager-connectpeer.json", - "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", "aws-networkmanager-site.json", - "aws-networkmanager-sitetositevpnattachment.json", "aws-networkmanager-transitgatewaypeering.json", "aws-networkmanager-transitgatewayregistration.json", - "aws-networkmanager-transitgatewayroutetableattachment.json", - "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", "aws-opensearchserverless-accesspolicy.json", @@ -1969,7 +1959,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -2110,6 +2099,7 @@ "aws-servicediscovery-privatednsnamespace.json", "aws-servicediscovery-publicdnsnamespace.json", "aws-servicediscovery-service.json", + "aws-ses-configurationset.json", "aws-ses-configurationseteventdestination.json", "aws-ses-contactlist.json", "aws-ses-dedicatedippool.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-codeartifact-domain.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-codeartifact-domain.json new file mode 100644 index 0000000000..53ff907d10 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-codeartifact-domain.json @@ -0,0 +1,133 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName", + "/properties/EncryptionKey" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "codeartifact:CreateDomain", + "codeartifact:DescribeDomain", + "codeartifact:PutDomainPermissionsPolicy", + "codeartifact:GetDomainPermissionsPolicy", + "codeartifact:TagResource", + "codeartifact:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "codeartifact:DeleteDomain", + "codeartifact:DescribeDomain" + ] + }, + "list": { + "permissions": [ + "codeartifact:ListDomains" + ] + }, + "read": { + "permissions": [ + "codeartifact:DescribeDomain", + "codeartifact:GetDomainPermissionsPolicy", + "codeartifact:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "codeartifact:DescribeDomain", + "codeartifact:PutDomainPermissionsPolicy", + "codeartifact:DeleteDomainPermissionsPolicy", + "codeartifact:GetDomainPermissionsPolicy", + "codeartifact:TagResource", + "codeartifact:UntagResource", + "codeartifact:ListTagsForResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "DomainName": { + "maxLength": 50, + "minLength": 2, + "pattern": "^([a-z][a-z0-9\\-]{0,48}[a-z0-9])$", + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "Name": { + "maxLength": 50, + "minLength": 2, + "pattern": "^([a-z][a-z0-9\\-]{0,48}[a-z0-9])$", + "type": "string" + }, + "Owner": { + "pattern": "[0-9]{12}", + "type": "string" + }, + "PermissionsPolicyDocument": { + "maxLength": 5120, + "minLength": 2, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Owner", + "/properties/Name", + "/properties/EncryptionKey", + "/properties/Arn" + ], + "required": [ + "DomainName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codeartifact", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "codeartifact:ListTagsForResource", + "codeartifact:UntagResource", + "codeartifact:TagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::CodeArtifact::Domain" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-codeartifact-repository.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-codeartifact-repository.json new file mode 100644 index 0000000000..b6a435a8e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-codeartifact-repository.json @@ -0,0 +1,159 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/RepositoryName", + "/properties/DomainName", + "/properties/DomainOwner" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "codeartifact:CreateRepository", + "codeartifact:DescribeRepository", + "codeartifact:PutRepositoryPermissionsPolicy", + "codeartifact:GetRepositoryPermissionsPolicy", + "codeartifact:AssociateExternalConnection", + "codeartifact:AssociateWithDownstreamRepository", + "codeartifact:TagResource", + "codeartifact:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "codeartifact:DeleteRepository", + "codeartifact:DescribeRepository" + ] + }, + "list": { + "permissions": [ + "codeartifact:ListRepositories" + ] + }, + "read": { + "permissions": [ + "codeartifact:DescribeRepository", + "codeartifact:GetRepositoryPermissionsPolicy", + "codeartifact:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "codeartifact:PutRepositoryPermissionsPolicy", + "codeartifact:GetRepositoryPermissionsPolicy", + "codeartifact:DeleteRepositoryPermissionsPolicy", + "codeartifact:AssociateExternalConnection", + "codeartifact:DisassociateExternalConnection", + "codeartifact:UpdateRepository", + "codeartifact:DescribeRepository", + "codeartifact:AssociateWithDownstreamRepository", + "codeartifact:TagResource", + "codeartifact:UntagResource", + "codeartifact:ListTagsForResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Description": { + "maxLength": 1000, + "type": "string" + }, + "DomainName": { + "maxLength": 50, + "minLength": 2, + "pattern": "^([a-z][a-z0-9\\-]{0,48}[a-z0-9])$", + "type": "string" + }, + "DomainOwner": { + "pattern": "[0-9]{12}", + "type": "string" + }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "maxLength": 100, + "minLength": 2, + "pattern": "^([A-Za-z0-9][A-Za-z0-9._\\-]{1,99})$", + "type": "string" + }, + "PermissionsPolicyDocument": { + "maxLength": 5120, + "minLength": 2, + "type": "object" + }, + "RepositoryName": { + "maxLength": 100, + "minLength": 2, + "pattern": "^([A-Za-z0-9][A-Za-z0-9._\\-]{1,99})$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Name", + "/properties/DomainOwner", + "/properties/Arn" + ], + "required": [ + "RepositoryName", + "DomainName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codeartifact", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "codeartifact:ListTagsForResource", + "codeartifact:UntagResource", + "codeartifact:TagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::CodeArtifact::Repository" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpnconnection.json deleted file mode 100644 index 2771879c01..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpnconnection.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/VpnTunnelOptionsSpecifications", - "/properties/StaticRoutesOnly" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateVpnConnection", - "ec2:CreateTags" - ] - }, - "delete": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:DeleteVpnConnection", - "ec2:DeleteTags" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateTags", - "ec2:DeleteTags" - ] - } - }, - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "required": [ - "Type", - "CustomerGatewayId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VPNConnection" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json deleted file mode 100644 index 974dd89b9f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/WorkflowName", - "/properties/Type" - ], - "definitions": { - "Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "Condition": { - "additionalProperties": false, - "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { - "enum": [ - "EQUALS" - ], - "type": "string" - }, - "State": { - "enum": [ - "SUCCEEDED", - "STOPPED", - "TIMEOUT", - "FAILED" - ], - "type": "string" - } - }, - "type": "object" - }, - "EventBatchingCondition": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "integer" - }, - "BatchWindow": { - "type": "integer" - } - }, - "required": [ - "BatchSize" - ], - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - }, - "Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/Condition" - }, - "type": "array", - "uniqueItems": false - }, - "Logical": { - "enum": [ - "AND", - "ANY" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/Action" - }, - "type": "array", - "uniqueItems": false - }, - "Description": { - "type": "string" - }, - "EventBatchingCondition": { - "$ref": "#/definitions/EventBatchingCondition" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Type": { - "enum": [ - "CONDITIONAL", - "EVENT", - "ON_DEMAND", - "SCHEDULED" - ], - "type": "string" - }, - "WorkflowName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type", - "Actions" - ], - "typeName": "AWS::Glue::Trigger" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-medialive-multiplex.json similarity index 97% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-multiplex.json rename to src/cfnlint/data/schemas/providers/ap_south_1/aws-medialive-multiplex.json index 179f2709e2..4473e08aba 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-multiplex.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-medialive-multiplex.json @@ -168,10 +168,6 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", "tagging": { "cloudFormationSystemTags": false, - "permissions": [ - "medialive:CreateTags", - "medialive:DeleteTags" - ], "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-medialive-multiplexprogram.json similarity index 98% rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-medialive-multiplexprogram.json rename to src/cfnlint/data/schemas/providers/ap_south_1/aws-medialive-multiplexprogram.json index 805a8a0951..2a30458471 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-medialive-multiplexprogram.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-medialive-multiplexprogram.json @@ -254,9 +254,6 @@ "type": "string" } }, - "readOnlyProperties": [ - "/properties/ChannelId" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", "tagging": { "taggable": false diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-connectattachment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-connectattachment.json new file mode 100644 index 0000000000..71a755e57a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-connectattachment.json @@ -0,0 +1,203 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CoreNetworkId", + "/properties/EdgeLocation", + "/properties/TransportAttachmentId", + "/properties/Options" + ], + "definitions": { + "ConnectAttachmentOptions": { + "additionalProperties": false, + "properties": { + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "ProposedNetworkFunctionGroupChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "ProposedSegmentChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "SegmentName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "networkmanager:GetConnectAttachment", + "networkmanager:CreateConnectAttachment", + "networkmanager:TagResource", + "ec2:DescribeRegions" + ] + }, + "delete": { + "permissions": [ + "networkmanager:GetConnectAttachment", + "networkmanager:DeleteAttachment", + "ec2:DescribeRegions" + ] + }, + "list": { + "permissions": [ + "networkmanager:ListAttachments" + ] + }, + "read": { + "permissions": [ + "networkmanager:GetConnectAttachment" + ] + }, + "update": { + "permissions": [ + "networkmanager:GetConnectAttachment", + "networkmanager:ListTagsForResource", + "networkmanager:TagResource", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ] + } + }, + "primaryIdentifier": [ + "/properties/AttachmentId" + ], + "properties": { + "AttachmentId": { + "type": "string" + }, + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "AttachmentType": { + "type": "string" + }, + "CoreNetworkArn": { + "type": "string" + }, + "CoreNetworkId": { + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "EdgeLocation": { + "type": "string" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/ConnectAttachmentOptions" + }, + "OwnerAccountId": { + "type": "string" + }, + "ProposedNetworkFunctionGroupChange": { + "$ref": "#/definitions/ProposedNetworkFunctionGroupChange" + }, + "ProposedSegmentChange": { + "$ref": "#/definitions/ProposedSegmentChange" + }, + "ResourceArn": { + "type": "string" + }, + "SegmentName": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "TransportAttachmentId": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CoreNetworkArn", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/AttachmentType", + "/properties/State", + "/properties/ResourceArn", + "/properties/AttachmentId", + "/properties/OwnerAccountId", + "/properties/AttachmentPolicyRuleNumber", + "/properties/SegmentName" + ], + "required": [ + "CoreNetworkId", + "EdgeLocation", + "TransportAttachmentId", + "Options" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-connectattachment", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkManager::ConnectAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-corenetwork.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-corenetwork.json new file mode 100644 index 0000000000..5d26bdc498 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-corenetwork.json @@ -0,0 +1,241 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/CoreNetworkArn" + ], + [ + "/properties/GlobalNetworkId" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/GlobalNetworkId" + ], + "definitions": { + "CoreNetworkEdge": { + "additionalProperties": false, + "properties": { + "Asn": { + "type": "number" + }, + "EdgeLocation": { + "type": "string" + }, + "InsideCidrBlocks": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CoreNetworkNetworkFunctionGroup": { + "additionalProperties": false, + "properties": { + "EdgeLocations": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Segments": { + "additionalProperties": false, + "properties": { + "SendTo": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "SendVia": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "CoreNetworkSegment": { + "additionalProperties": false, + "properties": { + "EdgeLocations": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SharedSegments": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "networkmanager:CreateCoreNetwork", + "networkmanager:GetCoreNetwork", + "networkmanager:GetCoreNetworkPolicy", + "networkmanager:TagResource", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 720 + }, + "delete": { + "permissions": [ + "networkmanager:DeleteCoreNetwork", + "networkmanager:UntagResource", + "networkmanager:GetCoreNetwork", + "networkmanager:GetCoreNetworkPolicy", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 720 + }, + "list": { + "permissions": [ + "networkmanager:ListCoreNetworks" + ] + }, + "read": { + "permissions": [ + "networkmanager:GetCoreNetwork", + "networkmanager:GetCoreNetworkPolicy" + ] + }, + "update": { + "permissions": [ + "networkmanager:UpdateCoreNetwork", + "networkmanager:GetCoreNetwork", + "networkmanager:ListTagsForResource", + "networkmanager:PutCoreNetworkPolicy", + "networkmanager:GetCoreNetworkPolicy", + "networkmanager:ExecuteCoreNetworkChangeSet", + "networkmanager:TagResource", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 720 + } + }, + "primaryIdentifier": [ + "/properties/CoreNetworkId" + ], + "properties": { + "CoreNetworkArn": { + "type": "string" + }, + "CoreNetworkId": { + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Edges": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CoreNetworkEdge" + }, + "type": "array" + }, + "GlobalNetworkId": { + "type": "string" + }, + "NetworkFunctionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CoreNetworkNetworkFunctionGroup" + }, + "type": "array" + }, + "OwnerAccount": { + "type": "string" + }, + "PolicyDocument": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Segments": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CoreNetworkSegment" + }, + "type": "array" + }, + "State": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/OwnerAccount", + "/properties/CoreNetworkId", + "/properties/CoreNetworkArn", + "/properties/CreatedAt", + "/properties/State", + "/properties/Segments", + "/properties/NetworkFunctionGroups", + "/properties/Edges" + ], + "required": [ + "GlobalNetworkId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-corenetwork", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkManager::CoreNetwork" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-sitetositevpnattachment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-sitetositevpnattachment.json new file mode 100644 index 0000000000..4d93032c9e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-sitetositevpnattachment.json @@ -0,0 +1,196 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/CoreNetworkId", + "/properties/VpnConnectionArn" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CoreNetworkId", + "/properties/VpnConnectionArn" + ], + "definitions": { + "ProposedNetworkFunctionGroupChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "ProposedSegmentChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "SegmentName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "networkmanager:GetSiteToSiteVpnAttachment", + "networkmanager:CreateSiteToSiteVpnAttachment", + "ec2:DescribeRegions", + "networkmanager:TagResource" + ], + "timeoutInMinutes": 40 + }, + "delete": { + "permissions": [ + "networkmanager:GetSiteToSiteVpnAttachment", + "networkmanager:DeleteAttachment", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 720 + }, + "list": { + "permissions": [ + "networkmanager:ListAttachments" + ] + }, + "read": { + "permissions": [ + "networkmanager:GetSiteToSiteVpnAttachment" + ] + }, + "update": { + "permissions": [ + "networkmanager:GetSiteToSiteVpnAttachment", + "networkmanager:ListTagsForResource", + "networkmanager:TagResource", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ] + } + }, + "primaryIdentifier": [ + "/properties/AttachmentId" + ], + "properties": { + "AttachmentId": { + "type": "string" + }, + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "AttachmentType": { + "type": "string" + }, + "CoreNetworkArn": { + "type": "string" + }, + "CoreNetworkId": { + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "EdgeLocation": { + "type": "string" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "OwnerAccountId": { + "type": "string" + }, + "ProposedNetworkFunctionGroupChange": { + "$ref": "#/definitions/ProposedNetworkFunctionGroupChange" + }, + "ProposedSegmentChange": { + "$ref": "#/definitions/ProposedSegmentChange" + }, + "ResourceArn": { + "type": "string" + }, + "SegmentName": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + }, + "VpnConnectionArn": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CoreNetworkArn", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/AttachmentType", + "/properties/State", + "/properties/ResourceArn", + "/properties/AttachmentId", + "/properties/OwnerAccountId", + "/properties/EdgeLocation", + "/properties/AttachmentPolicyRuleNumber", + "/properties/SegmentName" + ], + "required": [ + "CoreNetworkId", + "VpnConnectionArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-sitetositevpnattachment", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkManager::SiteToSiteVpnAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-transitgatewayroutetableattachment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-transitgatewayroutetableattachment.json new file mode 100644 index 0000000000..07f38f9617 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-transitgatewayroutetableattachment.json @@ -0,0 +1,194 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PeeringId", + "/properties/TransitGatewayRouteTableArn" + ], + "definitions": { + "ProposedNetworkFunctionGroupChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "ProposedSegmentChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "SegmentName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "insertionOrder": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "networkmanager:CreateTransitGatewayRouteTableAttachment", + "networkmanager:GetTransitGatewayRouteTableAttachment", + "networkmanager:TagResource", + "iam:CreateServiceLinkedRole", + "ec2:DescribeRegions" + ] + }, + "delete": { + "permissions": [ + "networkmanager:GetTransitGatewayRouteTableAttachment", + "networkmanager:DeleteAttachment", + "ec2:DescribeRegions" + ] + }, + "list": { + "permissions": [ + "networkmanager:ListAttachments" + ] + }, + "read": { + "permissions": [ + "networkmanager:GetTransitGatewayRouteTableAttachment" + ] + }, + "update": { + "permissions": [ + "networkmanager:GetTransitGatewayRouteTableAttachment", + "networkmanager:ListTagsForResource", + "networkmanager:TagResource", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ] + } + }, + "primaryIdentifier": [ + "/properties/AttachmentId" + ], + "properties": { + "AttachmentId": { + "type": "string" + }, + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "AttachmentType": { + "type": "string" + }, + "CoreNetworkArn": { + "type": "string" + }, + "CoreNetworkId": { + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "EdgeLocation": { + "type": "string" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "OwnerAccountId": { + "type": "string" + }, + "PeeringId": { + "type": "string" + }, + "ProposedNetworkFunctionGroupChange": { + "$ref": "#/definitions/ProposedNetworkFunctionGroupChange" + }, + "ProposedSegmentChange": { + "$ref": "#/definitions/ProposedSegmentChange" + }, + "ResourceArn": { + "type": "string" + }, + "SegmentName": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "TransitGatewayRouteTableArn": { + "type": "string" + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CoreNetworkArn", + "/properties/CoreNetworkId", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/AttachmentType", + "/properties/State", + "/properties/ResourceArn", + "/properties/AttachmentId", + "/properties/OwnerAccountId", + "/properties/EdgeLocation", + "/properties/AttachmentPolicyRuleNumber", + "/properties/SegmentName" + ], + "required": [ + "PeeringId", + "TransitGatewayRouteTableArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-transitgatewayroutetableattachment", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkManager::TransitGatewayRouteTableAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-vpcattachment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-vpcattachment.json new file mode 100644 index 0000000000..a469672af6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-networkmanager-vpcattachment.json @@ -0,0 +1,226 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/CoreNetworkId", + "/properties/VpcArn" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CoreNetworkId", + "/properties/VpcArn" + ], + "definitions": { + "ProposedNetworkFunctionGroupChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "ProposedSegmentChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "SegmentName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "VpcOptions": { + "additionalProperties": false, + "properties": { + "ApplianceModeSupport": { + "default": false, + "type": "boolean" + }, + "Ipv6Support": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "networkmanager:CreateVpcAttachment", + "networkmanager:GetVpcAttachment", + "networkmanager:TagResource", + "ec2:DescribeRegions", + "iam:CreateServiceLinkedRole" + ], + "timeoutInMinutes": 60 + }, + "delete": { + "permissions": [ + "networkmanager:DeleteAttachment", + "networkmanager:GetVpcAttachment", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 60 + }, + "list": { + "permissions": [ + "networkmanager:ListAttachments" + ] + }, + "read": { + "permissions": [ + "networkmanager:GetVpcAttachment" + ] + }, + "update": { + "permissions": [ + "networkmanager:UpdateVpcAttachment", + "networkmanager:GetVpcAttachment", + "networkmanager:ListTagsForResource", + "networkmanager:TagResource", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 60 + } + }, + "primaryIdentifier": [ + "/properties/AttachmentId" + ], + "properties": { + "AttachmentId": { + "type": "string" + }, + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "AttachmentType": { + "type": "string" + }, + "CoreNetworkArn": { + "type": "string" + }, + "CoreNetworkId": { + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "EdgeLocation": { + "type": "string" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/VpcOptions" + }, + "OwnerAccountId": { + "type": "string" + }, + "ProposedNetworkFunctionGroupChange": { + "$ref": "#/definitions/ProposedNetworkFunctionGroupChange" + }, + "ProposedSegmentChange": { + "$ref": "#/definitions/ProposedSegmentChange" + }, + "ResourceArn": { + "type": "string" + }, + "SegmentName": { + "type": "string" + }, + "State": { + "type": "string" + }, + "SubnetArns": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + }, + "VpcArn": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CoreNetworkArn", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/AttachmentType", + "/properties/State", + "/properties/AttachmentId", + "/properties/OwnerAccountId", + "/properties/EdgeLocation", + "/properties/AttachmentPolicyRuleNumber", + "/properties/SegmentName", + "/properties/NetworkFunctionGroupName", + "/properties/ResourceArn" + ], + "required": [ + "CoreNetworkId", + "VpcArn", + "SubnetArns" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-vpcattachment", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkManager::VpcAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ses-configurationset.json deleted file mode 100644 index e5780caa5e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ses-configurationset.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "required": [ - "CustomRedirectDomain" - ], - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py index 3f2ef5cf3b..c5bbd98cb8 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -630,7 +630,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -806,7 +805,6 @@ "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -955,7 +953,6 @@ "aws-kinesisanalyticsv2-application.json", "aws-kinesisfirehose-deliverystream.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -989,8 +986,6 @@ "aws-mediaconnect-flowoutput.json", "aws-mediaconnect-flowsource.json", "aws-mediaconnect-flowvpcinterface.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediatailor-channel.json", "aws-mediatailor-channelpolicy.json", "aws-mediatailor-livesource.json", @@ -1004,6 +999,7 @@ "aws-mwaa-environment.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", @@ -1040,7 +1036,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplex.json new file mode 100644 index 0000000000..4473e08aba --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplex.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AvailabilityZones" + ], + "definitions": { + "MultiplexOutputDestination": { + "additionalProperties": false, + "properties": { + "MultiplexMediaConnectOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "EntitlementArn": { + "minLength": 1, + "type": "string" + } + } + } + }, + "type": "object" + }, + "MultiplexSettings": { + "additionalProperties": false, + "properties": { + "MaximumVideoBufferDelayMilliseconds": { + "maximum": 3000, + "minimum": 800, + "type": "integer" + }, + "TransportStreamBitrate": { + "maximum": 100000000, + "minimum": 1000000, + "type": "integer" + }, + "TransportStreamId": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "TransportStreamReservedBitrate": { + "maximum": 100000000, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "TransportStreamBitrate", + "TransportStreamId" + ], + "type": "object" + }, + "Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplex", + "medialive:DescribeMultiplex" + ] + }, + "list": { + "permissions": [ + "medialive:ListMultiplexes" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplex" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags", + "medialive:DeleteTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AvailabilityZones": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Destinations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MultiplexOutputDestination" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MultiplexSettings": { + "$ref": "#/definitions/MultiplexSettings" + }, + "Name": { + "type": "string" + }, + "PipelinesRunningCount": { + "type": "integer" + }, + "ProgramCount": { + "type": "integer" + }, + "State": { + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Id", + "/properties/PipelinesRunningCount", + "/properties/ProgramCount", + "/properties/State" + ], + "required": [ + "AvailabilityZones", + "MultiplexSettings", + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaLive::Multiplex" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplexprogram.json new file mode 100644 index 0000000000..2a30458471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplexprogram.json @@ -0,0 +1,265 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "definitions": { + "MultiplexProgramPacketIdentifiersMap": { + "additionalProperties": false, + "properties": { + "AudioPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbSubPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbTeletextPid": { + "type": "integer" + }, + "EtvPlatformPid": { + "type": "integer" + }, + "EtvSignalPid": { + "type": "integer" + }, + "KlvDataPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "PcrPid": { + "type": "integer" + }, + "PmtPid": { + "type": "integer" + }, + "PrivateMetadataPid": { + "type": "integer" + }, + "Scte27Pids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "Scte35Pid": { + "type": "integer" + }, + "TimedMetadataPid": { + "type": "integer" + }, + "VideoPid": { + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexProgramPipelineDetail": { + "additionalProperties": false, + "properties": { + "ActiveChannelPipeline": { + "type": "string" + }, + "PipelineId": { + "type": "string" + } + }, + "type": "object" + }, + "MultiplexProgramServiceDescriptor": { + "additionalProperties": false, + "properties": { + "ProviderName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ServiceName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ProviderName", + "ServiceName" + ], + "type": "object" + }, + "MultiplexProgramSettings": { + "additionalProperties": false, + "properties": { + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline", + "type": "string" + }, + "ProgramNumber": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "ServiceDescriptor": { + "$ref": "#/definitions/MultiplexProgramServiceDescriptor" + }, + "VideoSettings": { + "$ref": "#/definitions/MultiplexVideoSettings" + } + }, + "required": [ + "ProgramNumber" + ], + "type": "object" + }, + "MultiplexStatmuxVideoSettings": { + "additionalProperties": false, + "properties": { + "MaximumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "MinimumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "Priority": { + "maximum": 5, + "minimum": -5, + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexVideoSettings": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ConstantBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + } + }, + "required": [ + "ConstantBitrate" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StatmuxSettings": { + "$ref": "#/definitions/MultiplexStatmuxVideoSettings" + } + }, + "required": [ + "StatmuxSettings" + ], + "type": "object" + } + ], + "type": "object" + }, + "PreferredChannelPipeline": { + "enum": [ + "CURRENTLY_ACTIVE", + "PIPELINE_0", + "PIPELINE_1" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "Arn": { + "$ref": "resource-schema.json#/properties/MultiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "permissions": [ + "medialive:ListMultiplexPrograms" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplexProgram" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + } + }, + "primaryIdentifier": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "properties": { + "ChannelId": { + "type": "string" + }, + "MultiplexId": { + "type": "string" + }, + "MultiplexProgramSettings": { + "$ref": "#/definitions/MultiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "$ref": "#/definitions/MultiplexProgramPacketIdentifiersMap" + }, + "PipelineDetails": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/MultiplexProgramPipelineDetail" + }, + "type": "array" + }, + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline" + }, + "ProgramName": { + "type": "string" + } + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaLive::Multiplexprogram", + "writeOnlyProperties": [ + "/properties/PreferredChannelPipeline" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-loggingconfiguration.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-loggingconfiguration.json deleted file mode 100644 index ff5a0f03b8..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-networkfirewall-loggingconfiguration.json +++ /dev/null @@ -1,148 +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" - ] - }, - "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/ap_south_2/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} 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 2904a17fed..0458ed13be 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -158,6 +158,8 @@ "AWS::CleanRooms::Collaboration", "AWS::CleanRooms::ConfiguredTable", "AWS::CleanRooms::ConfiguredTableAssociation", + "AWS::CleanRooms::IdMappingTable", + "AWS::CleanRooms::IdNamespaceAssociation", "AWS::CleanRooms::Membership", "AWS::CleanRooms::PrivacyBudgetTemplate", "AWS::CleanRoomsML::TrainingDataset", @@ -1201,7 +1203,6 @@ "alexa-ask-skill.json", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1353,6 +1354,8 @@ "aws-cleanrooms-collaboration.json", "aws-cleanrooms-configuredtable.json", "aws-cleanrooms-configuredtableassociation.json", + "aws-cleanrooms-idmappingtable.json", + "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", "aws-cleanrooms-privacybudgettemplate.json", "aws-cleanroomsml-trainingdataset.json", @@ -1496,7 +1499,6 @@ "aws-datasync-storagesystem.json", "aws-datasync-task.json", "aws-datazone-datasource.json", - "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentblueprintconfiguration.json", "aws-datazone-environmentprofile.json", @@ -1509,14 +1511,11 @@ "aws-dax-parametergroup.json", "aws-dax-subnetgroup.json", "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", "aws-deadline-queuefleetassociation.json", - "aws-deadline-storageprofile.json", "aws-detective-graph.json", "aws-detective-memberinvitation.json", "aws-detective-organizationadmin.json", @@ -1586,7 +1585,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -2105,7 +2103,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -2250,6 +2247,7 @@ "aws-servicediscovery-privatednsnamespace.json", "aws-servicediscovery-publicdnsnamespace.json", "aws-servicediscovery-service.json", + "aws-ses-configurationset.json", "aws-ses-configurationseteventdestination.json", "aws-ses-contactlist.json", "aws-ses-dedicatedippool.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-datazone-domain.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-datazone-domain.json new file mode 100644 index 0000000000..73d0afbde2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-datazone-domain.json @@ -0,0 +1,188 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/Name" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyIdentifier" + ], + "definitions": { + "AuthType": { + "enum": [ + "IAM_IDC", + "DISABLED" + ], + "type": "string" + }, + "DomainStatus": { + "enum": [ + "CREATING", + "AVAILABLE", + "CREATION_FAILED", + "DELETING", + "DELETED", + "DELETION_FAILED" + ], + "type": "string" + }, + "SingleSignOn": { + "additionalProperties": false, + "properties": { + "Type": { + "$ref": "#/definitions/AuthType" + }, + "UserAssignment": { + "$ref": "#/definitions/UserAssignment" + } + }, + "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" + }, + "UserAssignment": { + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateDomain", + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteDomain", + "datazone:GetDomain" + ] + }, + "list": { + "permissions": [ + "datazone:ListDomains" + ] + }, + "read": { + "permissions": [ + "datazone:GetDomain" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "datazone:UntagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "pattern": "^arn:aws(|-cn|-us-gov):datazone:\\w+(?:-\\w+)+:\\d{12}:domain/dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainExecutionRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + "type": "string" + }, + "Id": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "KmsKeyIdentifier": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "LastUpdatedAt": { + "format": "date-time", + "type": "string" + }, + "ManagedAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PortalUrl": { + "type": "string" + }, + "SingleSignOn": { + "$ref": "#/definitions/SingleSignOn" + }, + "Status": { + "$ref": "#/definitions/DomainStatus" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/LastUpdatedAt", + "/properties/ManagedAccountId", + "/properties/PortalUrl", + "/properties/Status" + ], + "required": [ + "DomainExecutionRole", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataZone::Domain" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-fleet.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-fleet.json rename to src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json index 4a335d541a..5fa78cdcc1 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-fleet.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json @@ -566,7 +566,6 @@ "required": [ "Configuration", "DisplayName", - "FarmId", "MaxWorkerCount", "RoleArn" ], diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-queue.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-queue.json rename to src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json index 6d77aef2a5..bc404e7daf 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-deadline-queue.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json @@ -260,8 +260,7 @@ "/properties/Arn" ], "required": [ - "DisplayName", - "FarmId" + "DisplayName" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", "tagging": { diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-storageprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json similarity index 99% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-storageprofile.json rename to src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json index 8665cc99d8..47def71914 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-deadline-storageprofile.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json @@ -125,7 +125,6 @@ ], "required": [ "DisplayName", - "FarmId", "OsFamily" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ses-configurationset.json deleted file mode 100644 index e5780caa5e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ses-configurationset.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "required": [ - "CustomRedirectDomain" - ], - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index f3474e83e8..b0d3f89b9c 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -159,6 +159,8 @@ "AWS::CleanRooms::Collaboration", "AWS::CleanRooms::ConfiguredTable", "AWS::CleanRooms::ConfiguredTableAssociation", + "AWS::CleanRooms::IdMappingTable", + "AWS::CleanRooms::IdNamespaceAssociation", "AWS::CleanRooms::Membership", "AWS::CleanRooms::PrivacyBudgetTemplate", "AWS::CleanRoomsML::TrainingDataset", @@ -1378,6 +1380,8 @@ "aws-cleanrooms-collaboration.json", "aws-cleanrooms-configuredtable.json", "aws-cleanrooms-configuredtableassociation.json", + "aws-cleanrooms-idmappingtable.json", + "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", "aws-cleanrooms-privacybudgettemplate.json", "aws-cleanroomsml-trainingdataset.json", @@ -1658,6 +1662,7 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcgatewayattachment.json", "aws-ec2-vpcpeeringconnection.json", + "aws-ec2-vpnconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", "aws-ec2-vpngatewayroutepropagation.json", @@ -1784,6 +1789,7 @@ "aws-glue-schemaversionmetadata.json", "aws-glue-securityconfiguration.json", "aws-glue-table.json", + "aws-glue-trigger.json", "aws-glue-workflow.json", "aws-grafana-workspace.json", "aws-greengrass-connectordefinition.json", @@ -1924,7 +1930,6 @@ "aws-kinesisvideo-stream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -2001,8 +2006,6 @@ "aws-medialive-channel.json", "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -2149,7 +2152,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -2194,7 +2196,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", @@ -2230,6 +2231,7 @@ "aws-sagemaker-modelbiasjobdefinition.json", "aws-sagemaker-modelcard.json", "aws-sagemaker-modelexplainabilityjobdefinition.json", + "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", "aws-sagemaker-modelqualityjobdefinition.json", "aws-sagemaker-monitoringschedule.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-acmpca-certificateauthority.json index bac8f101fb..a052c15eb8 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-acmpca-certificateauthority.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-acmpca-certificateauthority.json @@ -62,9 +62,6 @@ "ExpirationInDays": { "type": "integer" }, - "MaxPartitionSizeMB": { - "type": "integer" - }, "PartitioningEnabled": { "type": "boolean" }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpnconnection.json deleted file mode 100644 index 2771879c01..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpnconnection.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/VpnTunnelOptionsSpecifications", - "/properties/StaticRoutesOnly" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateVpnConnection", - "ec2:CreateTags" - ] - }, - "delete": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:DeleteVpnConnection", - "ec2:DeleteTags" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateTags", - "ec2:DeleteTags" - ] - } - }, - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "required": [ - "Type", - "CustomerGatewayId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VPNConnection" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json deleted file mode 100644 index 974dd89b9f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/WorkflowName", - "/properties/Type" - ], - "definitions": { - "Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "Condition": { - "additionalProperties": false, - "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { - "enum": [ - "EQUALS" - ], - "type": "string" - }, - "State": { - "enum": [ - "SUCCEEDED", - "STOPPED", - "TIMEOUT", - "FAILED" - ], - "type": "string" - } - }, - "type": "object" - }, - "EventBatchingCondition": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "integer" - }, - "BatchWindow": { - "type": "integer" - } - }, - "required": [ - "BatchSize" - ], - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - }, - "Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/Condition" - }, - "type": "array", - "uniqueItems": false - }, - "Logical": { - "enum": [ - "AND", - "ANY" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/Action" - }, - "type": "array", - "uniqueItems": false - }, - "Description": { - "type": "string" - }, - "EventBatchingCondition": { - "$ref": "#/definitions/EventBatchingCondition" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Type": { - "enum": [ - "CONDITIONAL", - "EVENT", - "ON_DEMAND", - "SCHEDULED" - ], - "type": "string" - }, - "WorkflowName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type", - "Actions" - ], - "typeName": "AWS::Glue::Trigger" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-multiplex.json new file mode 100644 index 0000000000..4473e08aba --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-multiplex.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AvailabilityZones" + ], + "definitions": { + "MultiplexOutputDestination": { + "additionalProperties": false, + "properties": { + "MultiplexMediaConnectOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "EntitlementArn": { + "minLength": 1, + "type": "string" + } + } + } + }, + "type": "object" + }, + "MultiplexSettings": { + "additionalProperties": false, + "properties": { + "MaximumVideoBufferDelayMilliseconds": { + "maximum": 3000, + "minimum": 800, + "type": "integer" + }, + "TransportStreamBitrate": { + "maximum": 100000000, + "minimum": 1000000, + "type": "integer" + }, + "TransportStreamId": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "TransportStreamReservedBitrate": { + "maximum": 100000000, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "TransportStreamBitrate", + "TransportStreamId" + ], + "type": "object" + }, + "Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplex", + "medialive:DescribeMultiplex" + ] + }, + "list": { + "permissions": [ + "medialive:ListMultiplexes" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplex" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags", + "medialive:DeleteTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AvailabilityZones": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Destinations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MultiplexOutputDestination" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MultiplexSettings": { + "$ref": "#/definitions/MultiplexSettings" + }, + "Name": { + "type": "string" + }, + "PipelinesRunningCount": { + "type": "integer" + }, + "ProgramCount": { + "type": "integer" + }, + "State": { + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Id", + "/properties/PipelinesRunningCount", + "/properties/ProgramCount", + "/properties/State" + ], + "required": [ + "AvailabilityZones", + "MultiplexSettings", + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaLive::Multiplex" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-multiplexprogram.json new file mode 100644 index 0000000000..2a30458471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-medialive-multiplexprogram.json @@ -0,0 +1,265 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "definitions": { + "MultiplexProgramPacketIdentifiersMap": { + "additionalProperties": false, + "properties": { + "AudioPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbSubPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbTeletextPid": { + "type": "integer" + }, + "EtvPlatformPid": { + "type": "integer" + }, + "EtvSignalPid": { + "type": "integer" + }, + "KlvDataPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "PcrPid": { + "type": "integer" + }, + "PmtPid": { + "type": "integer" + }, + "PrivateMetadataPid": { + "type": "integer" + }, + "Scte27Pids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "Scte35Pid": { + "type": "integer" + }, + "TimedMetadataPid": { + "type": "integer" + }, + "VideoPid": { + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexProgramPipelineDetail": { + "additionalProperties": false, + "properties": { + "ActiveChannelPipeline": { + "type": "string" + }, + "PipelineId": { + "type": "string" + } + }, + "type": "object" + }, + "MultiplexProgramServiceDescriptor": { + "additionalProperties": false, + "properties": { + "ProviderName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ServiceName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ProviderName", + "ServiceName" + ], + "type": "object" + }, + "MultiplexProgramSettings": { + "additionalProperties": false, + "properties": { + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline", + "type": "string" + }, + "ProgramNumber": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "ServiceDescriptor": { + "$ref": "#/definitions/MultiplexProgramServiceDescriptor" + }, + "VideoSettings": { + "$ref": "#/definitions/MultiplexVideoSettings" + } + }, + "required": [ + "ProgramNumber" + ], + "type": "object" + }, + "MultiplexStatmuxVideoSettings": { + "additionalProperties": false, + "properties": { + "MaximumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "MinimumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "Priority": { + "maximum": 5, + "minimum": -5, + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexVideoSettings": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ConstantBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + } + }, + "required": [ + "ConstantBitrate" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StatmuxSettings": { + "$ref": "#/definitions/MultiplexStatmuxVideoSettings" + } + }, + "required": [ + "StatmuxSettings" + ], + "type": "object" + } + ], + "type": "object" + }, + "PreferredChannelPipeline": { + "enum": [ + "CURRENTLY_ACTIVE", + "PIPELINE_0", + "PIPELINE_1" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "Arn": { + "$ref": "resource-schema.json#/properties/MultiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "permissions": [ + "medialive:ListMultiplexPrograms" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplexProgram" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + } + }, + "primaryIdentifier": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "properties": { + "ChannelId": { + "type": "string" + }, + "MultiplexId": { + "type": "string" + }, + "MultiplexProgramSettings": { + "$ref": "#/definitions/MultiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "$ref": "#/definitions/MultiplexProgramPacketIdentifiersMap" + }, + "PipelineDetails": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/MultiplexProgramPipelineDetail" + }, + "type": "array" + }, + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline" + }, + "ProgramName": { + "type": "string" + } + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaLive::Multiplexprogram", + "writeOnlyProperties": [ + "/properties/PreferredChannelPipeline" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..82fe54c7d3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-route53resolver-resolverrule.json @@ -0,0 +1,166 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "route53resolver:CreateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource" + ] + }, + "delete": { + "permissions": [ + "route53resolver:DeleteResolverRule", + "route53resolver:GetResolverRule" + ] + }, + "list": { + "permissions": [ + "route53resolver:ListResolverRules" + ] + }, + "read": { + "permissions": [ + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "route53resolver:UpdateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DelegationRecord": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py index 391249084b..d7d80fb551 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -710,7 +710,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -899,7 +898,6 @@ "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1072,7 +1070,6 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1168,7 +1165,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -1227,7 +1223,6 @@ "aws-sagemaker-mlflowtrackingserver.json", "aws-sagemaker-model.json", "aws-sagemaker-modelcard.json", - "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-pipeline.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-modelpackage.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-modelpackage.json similarity index 88% rename from src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-modelpackage.json rename to src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-modelpackage.json index 04be3e312c..c6c497c7ad 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-modelpackage.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-modelpackage.json @@ -1,9 +1,5 @@ { "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/ModelCard", - "/properties/SourceUri" - ], "createOnlyProperties": [ "/properties/ModelPackageGroupName", "/properties/ModelPackageDescription", @@ -16,8 +12,7 @@ "/properties/DriftCheckBaselines", "/properties/Domain", "/properties/Task", - "/properties/SamplePayloadUrl", - "/properties/SecurityConfig" + "/properties/SamplePayloadUrl" ], "definitions": { "AdditionalInferenceSpecificationDefinition": { @@ -382,18 +377,6 @@ ], "type": "object" }, - "ModelAccessConfig": { - "additionalProperties": false, - "properties": { - "AcceptEula": { - "type": "boolean" - } - }, - "required": [ - "AcceptEula" - ], - "type": "object" - }, "ModelApprovalStatus": { "enum": [ "Approved", @@ -402,31 +385,6 @@ ], "type": "string" }, - "ModelCard": { - "additionalProperties": false, - "properties": { - "ModelCardContent": { - "maxLength": 100000, - "minLength": 0, - "pattern": ".*", - "type": "string" - }, - "ModelCardStatus": { - "enum": [ - "Draft", - "PendingReview", - "Approved", - "Archived" - ], - "type": "string" - } - }, - "required": [ - "ModelCardContent", - "ModelCardStatus" - ], - "type": "object" - }, "ModelDataQuality": { "additionalProperties": false, "properties": { @@ -439,15 +397,6 @@ }, "type": "object" }, - "ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/S3ModelDataSource" - } - }, - "type": "object" - }, "ModelMetrics": { "additionalProperties": false, "properties": { @@ -503,9 +452,6 @@ "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$", "type": "string" }, - "ModelDataSource": { - "$ref": "#/definitions/ModelDataSource" - }, "ModelDataUrl": { "maxLength": 1024, "pattern": "^(https|s3)://([^/]+)/?(.*)$", @@ -644,58 +590,11 @@ ], "type": "object" }, - "S3ModelDataSource": { - "additionalProperties": false, - "properties": { - "CompressionType": { - "enum": [ - "None", - "Gzip" - ], - "type": "string" - }, - "ModelAccessConfig": { - "$ref": "#/definitions/ModelAccessConfig" - }, - "S3DataType": { - "enum": [ - "S3Prefix", - "S3Object" - ], - "type": "string" - }, - "S3Uri": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "required": [ - "S3DataType", - "S3Uri", - "CompressionType" - ], - "type": "object" - }, "SamplePayloadUrl": { "maxLength": 1024, "pattern": "^(https|s3)://([^/]+)/?(.*)$", "type": "string" }, - "SecurityConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "maxLength": 2048, - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - } - }, - "required": [ - "KmsKeyId" - ], - "type": "object" - }, "SkipModelValidation": { "enum": [ "None", @@ -742,12 +641,6 @@ ], "type": "object" }, - "SourceUri": { - "maxLength": 1024, - "minLength": 0, - "pattern": "[\\p{L}\\p{M}\\p{Z}\\p{N}\\p{P}]{0,1024}", - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -960,22 +853,14 @@ "sagemaker:DescribeTransformJob", "sagemaker:DescribeModelPackage", "sagemaker:ListTags", - "sagemaker:UpdateModelPackage", "iam:PassRole", - "s3:GetObject", - "s3:ListBucket", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" + "s3:GetObject" ] }, "delete": { "permissions": [ "sagemaker:DeleteModelPackage", - "sagemaker:DescribeModelPackage", - "kms:DescribeKey", - "kms:Decrypt" + "sagemaker:DescribeModelPackage" ] }, "list": { @@ -993,25 +878,16 @@ "read": { "permissions": [ "sagemaker:DescribeModelPackage", - "sagemaker:ListTags", - "kms:DescribeKey", - "kms:Decrypt" + "sagemaker:ListTags" ] }, "update": { "permissions": [ - "ecr:BatchGetImage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackage", "sagemaker:ListTags", "sagemaker:AddTags", - "sagemaker:DeleteTags", - "s3:GetObject", - "s3:ListBucket", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" + "sagemaker:DeleteTags" ] } }, @@ -1058,9 +934,6 @@ "ModelApprovalStatus": { "$ref": "#/definitions/ModelApprovalStatus" }, - "ModelCard": { - "$ref": "#/definitions/ModelCard" - }, "ModelMetrics": { "$ref": "#/definitions/ModelMetrics" }, @@ -1088,18 +961,12 @@ "SamplePayloadUrl": { "$ref": "#/definitions/SamplePayloadUrl" }, - "SecurityConfig": { - "$ref": "#/definitions/SecurityConfig" - }, "SkipModelValidation": { "$ref": "#/definitions/SkipModelValidation" }, "SourceAlgorithmSpecification": { "$ref": "#/definitions/SourceAlgorithmSpecification" }, - "SourceUri": { - "$ref": "#/definitions/SourceUri" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" 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 a2b2d203fa..a61bae3ec3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -629,7 +629,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -796,7 +795,6 @@ "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -939,7 +937,6 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -973,8 +970,6 @@ "aws-mediaconnect-flowoutput.json", "aws-mediaconnect-flowsource.json", "aws-mediaconnect-flowvpcinterface.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -1034,7 +1029,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-medialive-multiplex.json new file mode 100644 index 0000000000..4473e08aba --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-medialive-multiplex.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AvailabilityZones" + ], + "definitions": { + "MultiplexOutputDestination": { + "additionalProperties": false, + "properties": { + "MultiplexMediaConnectOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "EntitlementArn": { + "minLength": 1, + "type": "string" + } + } + } + }, + "type": "object" + }, + "MultiplexSettings": { + "additionalProperties": false, + "properties": { + "MaximumVideoBufferDelayMilliseconds": { + "maximum": 3000, + "minimum": 800, + "type": "integer" + }, + "TransportStreamBitrate": { + "maximum": 100000000, + "minimum": 1000000, + "type": "integer" + }, + "TransportStreamId": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "TransportStreamReservedBitrate": { + "maximum": 100000000, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "TransportStreamBitrate", + "TransportStreamId" + ], + "type": "object" + }, + "Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplex", + "medialive:DescribeMultiplex" + ] + }, + "list": { + "permissions": [ + "medialive:ListMultiplexes" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplex" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags", + "medialive:DeleteTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AvailabilityZones": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Destinations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MultiplexOutputDestination" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MultiplexSettings": { + "$ref": "#/definitions/MultiplexSettings" + }, + "Name": { + "type": "string" + }, + "PipelinesRunningCount": { + "type": "integer" + }, + "ProgramCount": { + "type": "integer" + }, + "State": { + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Id", + "/properties/PipelinesRunningCount", + "/properties/ProgramCount", + "/properties/State" + ], + "required": [ + "AvailabilityZones", + "MultiplexSettings", + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaLive::Multiplex" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-medialive-multiplexprogram.json new file mode 100644 index 0000000000..2a30458471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-medialive-multiplexprogram.json @@ -0,0 +1,265 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "definitions": { + "MultiplexProgramPacketIdentifiersMap": { + "additionalProperties": false, + "properties": { + "AudioPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbSubPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbTeletextPid": { + "type": "integer" + }, + "EtvPlatformPid": { + "type": "integer" + }, + "EtvSignalPid": { + "type": "integer" + }, + "KlvDataPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "PcrPid": { + "type": "integer" + }, + "PmtPid": { + "type": "integer" + }, + "PrivateMetadataPid": { + "type": "integer" + }, + "Scte27Pids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "Scte35Pid": { + "type": "integer" + }, + "TimedMetadataPid": { + "type": "integer" + }, + "VideoPid": { + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexProgramPipelineDetail": { + "additionalProperties": false, + "properties": { + "ActiveChannelPipeline": { + "type": "string" + }, + "PipelineId": { + "type": "string" + } + }, + "type": "object" + }, + "MultiplexProgramServiceDescriptor": { + "additionalProperties": false, + "properties": { + "ProviderName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ServiceName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ProviderName", + "ServiceName" + ], + "type": "object" + }, + "MultiplexProgramSettings": { + "additionalProperties": false, + "properties": { + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline", + "type": "string" + }, + "ProgramNumber": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "ServiceDescriptor": { + "$ref": "#/definitions/MultiplexProgramServiceDescriptor" + }, + "VideoSettings": { + "$ref": "#/definitions/MultiplexVideoSettings" + } + }, + "required": [ + "ProgramNumber" + ], + "type": "object" + }, + "MultiplexStatmuxVideoSettings": { + "additionalProperties": false, + "properties": { + "MaximumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "MinimumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "Priority": { + "maximum": 5, + "minimum": -5, + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexVideoSettings": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ConstantBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + } + }, + "required": [ + "ConstantBitrate" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StatmuxSettings": { + "$ref": "#/definitions/MultiplexStatmuxVideoSettings" + } + }, + "required": [ + "StatmuxSettings" + ], + "type": "object" + } + ], + "type": "object" + }, + "PreferredChannelPipeline": { + "enum": [ + "CURRENTLY_ACTIVE", + "PIPELINE_0", + "PIPELINE_1" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "Arn": { + "$ref": "resource-schema.json#/properties/MultiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "permissions": [ + "medialive:ListMultiplexPrograms" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplexProgram" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + } + }, + "primaryIdentifier": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "properties": { + "ChannelId": { + "type": "string" + }, + "MultiplexId": { + "type": "string" + }, + "MultiplexProgramSettings": { + "$ref": "#/definitions/MultiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "$ref": "#/definitions/MultiplexProgramPacketIdentifiersMap" + }, + "PipelineDetails": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/MultiplexProgramPipelineDetail" + }, + "type": "array" + }, + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline" + }, + "ProgramName": { + "type": "string" + } + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaLive::Multiplexprogram", + "writeOnlyProperties": [ + "/properties/PreferredChannelPipeline" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} 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 f08e1e7003..d6fe21cc0d 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -1095,7 +1095,6 @@ "alexa-ask-skill.json", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1360,7 +1359,6 @@ "aws-datasync-storagesystem.json", "aws-datasync-task.json", "aws-datazone-datasource.json", - "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentblueprintconfiguration.json", "aws-datazone-environmentprofile.json", @@ -1438,7 +1436,6 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1482,6 +1479,7 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcgatewayattachment.json", "aws-ec2-vpcpeeringconnection.json", + "aws-ec2-vpnconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", "aws-ec2-vpngatewayroutepropagation.json", @@ -1683,7 +1681,6 @@ "aws-kinesisvideo-stream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1755,8 +1752,6 @@ "aws-mediaconvert-jobtemplate.json", "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", - "aws-medialive-multiplex.json", - "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -1794,6 +1789,7 @@ "aws-neptune-eventsubscription.json", "aws-networkfirewall-firewall.json", "aws-networkfirewall-firewallpolicy.json", + "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-networkmanager-connectattachment.json", @@ -1894,7 +1890,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -2033,6 +2028,7 @@ "aws-servicediscovery-privatednsnamespace.json", "aws-servicediscovery-publicdnsnamespace.json", "aws-servicediscovery-service.json", + "aws-ses-configurationset.json", "aws-ses-configurationseteventdestination.json", "aws-ses-contactlist.json", "aws-ses-dedicatedippool.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-domain.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-domain.json new file mode 100644 index 0000000000..73d0afbde2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-domain.json @@ -0,0 +1,188 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/Name" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyIdentifier" + ], + "definitions": { + "AuthType": { + "enum": [ + "IAM_IDC", + "DISABLED" + ], + "type": "string" + }, + "DomainStatus": { + "enum": [ + "CREATING", + "AVAILABLE", + "CREATION_FAILED", + "DELETING", + "DELETED", + "DELETION_FAILED" + ], + "type": "string" + }, + "SingleSignOn": { + "additionalProperties": false, + "properties": { + "Type": { + "$ref": "#/definitions/AuthType" + }, + "UserAssignment": { + "$ref": "#/definitions/UserAssignment" + } + }, + "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" + }, + "UserAssignment": { + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "datazone:CreateDomain", + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + }, + "delete": { + "permissions": [ + "datazone:DeleteDomain", + "datazone:GetDomain" + ] + }, + "list": { + "permissions": [ + "datazone:ListDomains" + ] + }, + "read": { + "permissions": [ + "datazone:GetDomain" + ] + }, + "update": { + "permissions": [ + "datazone:UpdateDomain", + "datazone:GetDomain", + "datazone:TagResource", + "datazone:UntagResource", + "sso:CreateManagedApplicationInstance", + "sso:DeleteManagedApplicationInstance", + "sso:PutApplicationAssignmentConfiguration" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "pattern": "^arn:aws(|-cn|-us-gov):datazone:\\w+(?:-\\w+)+:\\d{12}:domain/dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainExecutionRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", + "type": "string" + }, + "Id": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "KmsKeyIdentifier": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "LastUpdatedAt": { + "format": "date-time", + "type": "string" + }, + "ManagedAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PortalUrl": { + "type": "string" + }, + "SingleSignOn": { + "$ref": "#/definitions/SingleSignOn" + }, + "Status": { + "$ref": "#/definitions/DomainStatus" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/LastUpdatedAt", + "/properties/ManagedAccountId", + "/properties/PortalUrl", + "/properties/Status" + ], + "required": [ + "DomainExecutionRole", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DataZone::Domain" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpnconnection.json deleted file mode 100644 index 2771879c01..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpnconnection.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/VpnTunnelOptionsSpecifications", - "/properties/StaticRoutesOnly" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateVpnConnection", - "ec2:CreateTags" - ] - }, - "delete": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:DeleteVpnConnection", - "ec2:DeleteTags" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeVpnConnections" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeVpnConnections", - "ec2:CreateTags", - "ec2:DeleteTags" - ] - } - }, - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "required": [ - "Type", - "CustomerGatewayId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VPNConnection" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-medialive-multiplex.json new file mode 100644 index 0000000000..4473e08aba --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-medialive-multiplex.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AvailabilityZones" + ], + "definitions": { + "MultiplexOutputDestination": { + "additionalProperties": false, + "properties": { + "MultiplexMediaConnectOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "EntitlementArn": { + "minLength": 1, + "type": "string" + } + } + } + }, + "type": "object" + }, + "MultiplexSettings": { + "additionalProperties": false, + "properties": { + "MaximumVideoBufferDelayMilliseconds": { + "maximum": 3000, + "minimum": 800, + "type": "integer" + }, + "TransportStreamBitrate": { + "maximum": 100000000, + "minimum": 1000000, + "type": "integer" + }, + "TransportStreamId": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "TransportStreamReservedBitrate": { + "maximum": 100000000, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "TransportStreamBitrate", + "TransportStreamId" + ], + "type": "object" + }, + "Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplex", + "medialive:DescribeMultiplex" + ] + }, + "list": { + "permissions": [ + "medialive:ListMultiplexes" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplex" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplex", + "medialive:DescribeMultiplex", + "medialive:CreateTags", + "medialive:DeleteTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AvailabilityZones": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Destinations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MultiplexOutputDestination" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MultiplexSettings": { + "$ref": "#/definitions/MultiplexSettings" + }, + "Name": { + "type": "string" + }, + "PipelinesRunningCount": { + "type": "integer" + }, + "ProgramCount": { + "type": "integer" + }, + "State": { + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Id", + "/properties/PipelinesRunningCount", + "/properties/ProgramCount", + "/properties/State" + ], + "required": [ + "AvailabilityZones", + "MultiplexSettings", + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaLive::Multiplex" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-medialive-multiplexprogram.json new file mode 100644 index 0000000000..2a30458471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-medialive-multiplexprogram.json @@ -0,0 +1,265 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "definitions": { + "MultiplexProgramPacketIdentifiersMap": { + "additionalProperties": false, + "properties": { + "AudioPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbSubPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "DvbTeletextPid": { + "type": "integer" + }, + "EtvPlatformPid": { + "type": "integer" + }, + "EtvSignalPid": { + "type": "integer" + }, + "KlvDataPids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "PcrPid": { + "type": "integer" + }, + "PmtPid": { + "type": "integer" + }, + "PrivateMetadataPid": { + "type": "integer" + }, + "Scte27Pids": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "type": "array" + }, + "Scte35Pid": { + "type": "integer" + }, + "TimedMetadataPid": { + "type": "integer" + }, + "VideoPid": { + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexProgramPipelineDetail": { + "additionalProperties": false, + "properties": { + "ActiveChannelPipeline": { + "type": "string" + }, + "PipelineId": { + "type": "string" + } + }, + "type": "object" + }, + "MultiplexProgramServiceDescriptor": { + "additionalProperties": false, + "properties": { + "ProviderName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ServiceName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ProviderName", + "ServiceName" + ], + "type": "object" + }, + "MultiplexProgramSettings": { + "additionalProperties": false, + "properties": { + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline", + "type": "string" + }, + "ProgramNumber": { + "maximum": 65535, + "minimum": 0, + "type": "integer" + }, + "ServiceDescriptor": { + "$ref": "#/definitions/MultiplexProgramServiceDescriptor" + }, + "VideoSettings": { + "$ref": "#/definitions/MultiplexVideoSettings" + } + }, + "required": [ + "ProgramNumber" + ], + "type": "object" + }, + "MultiplexStatmuxVideoSettings": { + "additionalProperties": false, + "properties": { + "MaximumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "MinimumBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + }, + "Priority": { + "maximum": 5, + "minimum": -5, + "type": "integer" + } + }, + "type": "object" + }, + "MultiplexVideoSettings": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ConstantBitrate": { + "maximum": 100000000, + "minimum": 100000, + "type": "integer" + } + }, + "required": [ + "ConstantBitrate" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StatmuxSettings": { + "$ref": "#/definitions/MultiplexStatmuxVideoSettings" + } + }, + "required": [ + "StatmuxSettings" + ], + "type": "object" + } + ], + "type": "object" + }, + "PreferredChannelPipeline": { + "enum": [ + "CURRENTLY_ACTIVE", + "PIPELINE_0", + "PIPELINE_1" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "medialive:CreateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "delete": { + "permissions": [ + "medialive:DeleteMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "Arn": { + "$ref": "resource-schema.json#/properties/MultiplexId" + } + }, + "required": [ + "MultiplexId" + ] + }, + "permissions": [ + "medialive:ListMultiplexPrograms" + ] + }, + "read": { + "permissions": [ + "medialive:DescribeMultiplexProgram" + ] + }, + "update": { + "permissions": [ + "medialive:UpdateMultiplexProgram", + "medialive:DescribeMultiplexProgram" + ] + } + }, + "primaryIdentifier": [ + "/properties/ProgramName", + "/properties/MultiplexId" + ], + "properties": { + "ChannelId": { + "type": "string" + }, + "MultiplexId": { + "type": "string" + }, + "MultiplexProgramSettings": { + "$ref": "#/definitions/MultiplexProgramSettings" + }, + "PacketIdentifiersMap": { + "$ref": "#/definitions/MultiplexProgramPacketIdentifiersMap" + }, + "PipelineDetails": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/MultiplexProgramPipelineDetail" + }, + "type": "array" + }, + "PreferredChannelPipeline": { + "$ref": "#/definitions/PreferredChannelPipeline" + }, + "ProgramName": { + "type": "string" + } + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialiveprogram.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaLive::Multiplexprogram", + "writeOnlyProperties": [ + "/properties/PreferredChannelPipeline" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-loggingconfiguration.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-loggingconfiguration.json deleted file mode 100644 index ff5a0f03b8..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-loggingconfiguration.json +++ /dev/null @@ -1,148 +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" - ] - }, - "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/ca_central_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json deleted file mode 100644 index e5780caa5e..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "required": [ - "CustomRedirectDomain" - ], - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index 87c859de51..474bfadedd 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -419,6 +419,7 @@ "AWS::RDS::DBSecurityGroupIngress", "AWS::RDS::DBSubnetGroup", "AWS::RDS::EventSubscription", + "AWS::RDS::Integration", "AWS::RDS::OptionGroup", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterParameterGroup", @@ -547,7 +548,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -688,7 +688,6 @@ "aws-ec2-networkacl.json", "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -819,7 +818,6 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", - "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -881,7 +879,9 @@ "aws-rds-dbsecuritygroupingress.json", "aws-rds-dbsubnetgroup.json", "aws-rds-eventsubscription.json", + "aws-rds-integration.json", "aws-rds-optiongroup.json", + "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-kms-replicakey.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kms-replicakey.json new file mode 100644 index 0000000000..2e2f867928 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kms-replicakey.json @@ -0,0 +1,131 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PrimaryKeyArn" + ], + "definitions": { + "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": [ + "kms:ReplicateKey", + "kms:CreateKey", + "kms:DescribeKey", + "kms:DisableKey", + "kms:TagResource" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:EnableKey", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "type": [ + "object", + "string" + ] + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "PrimaryKeyArn": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "required": [ + "PrimaryKeyArn", + "KeyPolicy" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::ReplicaKey", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays" + ] +} 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 5ae21b6ce2..d97043c9d2 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -625,6 +625,7 @@ "AWS::SageMaker::NotebookInstanceLifecycleConfig", "AWS::SageMaker::Pipeline", "AWS::SageMaker::Project", + "AWS::SageMaker::StudioLifecycleConfig", "AWS::SageMaker::UserProfile", "AWS::SageMaker::Workteam", "AWS::SecretsManager::ResourcePolicy", @@ -709,7 +710,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -901,6 +901,7 @@ "aws-ec2-networkacl.json", "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", + "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -915,7 +916,6 @@ "aws-ec2-trafficmirrorfilter.json", "aws-ec2-trafficmirrorfilterrule.json", "aws-ec2-trafficmirrortarget.json", - "aws-ec2-transitgatewayconnect.json", "aws-ec2-transitgatewayroute.json", "aws-ec2-transitgatewayroutetable.json", "aws-ec2-transitgatewayroutetableassociation.json", @@ -1128,6 +1128,7 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", + "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1210,7 +1211,6 @@ "aws-rds-globalcluster.json", "aws-rds-integration.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -1223,7 +1223,6 @@ "aws-redshiftserverless-workgroup.json", "aws-resourcegroups-group.json", "aws-rolesanywhere-crl.json", - "aws-rolesanywhere-profile.json", "aws-rolesanywhere-trustanchor.json", "aws-route53-cidrcollection.json", "aws-route53-recordset.json", @@ -1236,7 +1235,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-s3-accessgrant.json", "aws-s3-accessgrantsinstance.json", @@ -1259,11 +1257,13 @@ "aws-sagemaker-imageversion.json", "aws-sagemaker-model.json", "aws-sagemaker-modelcard.json", + "aws-sagemaker-modelpackage.json", "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", + "aws-sagemaker-studiolifecycleconfig.json", "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-sdb-domain.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-securitygroup.json index 8ab5cdc451..2f7e3ef4ca 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-securitygroup.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-securitygroup.json @@ -228,6 +228,10 @@ ], "tagging": { "cloudFormationSystemTags": true, + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ], "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-transitgatewayconnect.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-transitgatewayconnect.json new file mode 100644 index 0000000000..0b97bf0b93 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-transitgatewayconnect.json @@ -0,0 +1,111 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/TransportTransitGatewayAttachmentId", + "/properties/Options" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TransitGatewayConnectOptions": { + "additionalProperties": false, + "properties": { + "Protocol": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ec2:CreateTransitGatewayConnect", + "ec2:DescribeTransitGatewayConnects", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeleteTransitGatewayConnect", + "ec2:DescribeTransitGatewayConnects", + "ec2:DeleteTags" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeTransitGatewayConnects" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeTransitGatewayConnects" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeTransitGatewayConnects", + "ec2:DeleteTags", + "ec2:CreateTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/TransitGatewayAttachmentId" + ], + "properties": { + "CreationTime": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/TransitGatewayConnectOptions" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "TransportTransitGatewayAttachmentId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/TransitGatewayAttachmentId", + "/properties/State", + "/properties/CreationTime", + "/properties/TransitGatewayId" + ], + "required": [ + "TransportTransitGatewayAttachmentId", + "Options" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-myservice", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::TransitGatewayConnect" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rolesanywhere-profile.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rolesanywhere-profile.json new file mode 100644 index 0000000000..8245e177e8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rolesanywhere-profile.json @@ -0,0 +1,187 @@ +{ + "additionalProperties": false, + "definitions": { + "AttributeMapping": { + "additionalProperties": false, + "properties": { + "CertificateField": { + "$ref": "#/definitions/CertificateField" + }, + "MappingRules": { + "items": { + "$ref": "#/definitions/MappingRule" + }, + "type": "array" + } + }, + "required": [ + "CertificateField", + "MappingRules" + ], + "type": "object" + }, + "CertificateField": { + "enum": [ + "x509Subject", + "x509Issuer", + "x509SAN" + ], + "type": "string" + }, + "MappingRule": { + "additionalProperties": false, + "properties": { + "Specifier": { + "type": "string" + } + }, + "required": [ + "Specifier" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:GetRole", + "iam:GetPolicy", + "iam:PassRole", + "rolesanywhere:CreateProfile", + "rolesanywhere:TagResource", + "rolesanywhere:ListTagsForResource", + "rolesanywhere:PutAttributeMapping", + "rolesanywhere:DeleteAttributeMapping" + ] + }, + "delete": { + "permissions": [ + "rolesanywhere:DeleteProfile" + ] + }, + "list": { + "permissions": [ + "rolesanywhere:ListProfiles", + "rolesanywhere:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "rolesanywhere:GetProfile", + "rolesanywhere:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iam:GetRole", + "iam:GetPolicy", + "iam:PassRole", + "rolesanywhere:GetProfile", + "rolesanywhere:UpdateProfile", + "rolesanywhere:EnableProfile", + "rolesanywhere:DisableProfile", + "rolesanywhere:TagResource", + "rolesanywhere:UntagResource", + "rolesanywhere:ListTagsForResource", + "rolesanywhere:PutAttributeMapping", + "rolesanywhere:DeleteAttributeMapping" + ] + } + }, + "primaryIdentifier": [ + "/properties/ProfileId" + ], + "properties": { + "AcceptRoleSessionName": { + "type": "boolean" + }, + "AttributeMappings": { + "items": { + "$ref": "#/definitions/AttributeMapping" + }, + "type": "array" + }, + "DurationSeconds": { + "maximum": 43200, + "minimum": 900, + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ProfileArn": { + "type": "string" + }, + "ProfileId": { + "pattern": "[a-f0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}", + "type": "string" + }, + "RequireInstanceProperties": { + "type": "boolean" + }, + "RoleArns": { + "items": { + "maxLength": 1011, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "SessionPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/ProfileId", + "/properties/ProfileArn" + ], + "required": [ + "Name", + "RoleArns" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RolesAnywhere::Profile" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..82fe54c7d3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53resolver-resolverrule.json @@ -0,0 +1,166 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "route53resolver:CreateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource" + ] + }, + "delete": { + "permissions": [ + "route53resolver:DeleteResolverRule", + "route53resolver:GetResolverRule" + ] + }, + "list": { + "permissions": [ + "route53resolver:ListResolverRules" + ] + }, + "read": { + "permissions": [ + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "route53resolver:UpdateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DelegationRecord": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py index b88429da42..83c170f44d 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -669,7 +669,6 @@ "Module", "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -855,12 +854,12 @@ "aws-ec2-ipamresourcediscovery.json", "aws-ec2-ipamresourcediscoveryassociation.json", "aws-ec2-ipamscope.json", + "aws-ec2-keypair.json", "aws-ec2-launchtemplate.json", "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", - "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1123,7 +1122,6 @@ "aws-rds-eventsubscription.json", "aws-rds-globalcluster.json", "aws-rds-optiongroup.json", - "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", "aws-redshift-clustersecuritygroupingress.json", @@ -1171,7 +1169,6 @@ "aws-sagemaker-imageversion.json", "aws-sagemaker-model.json", "aws-sagemaker-modelcard.json", - "aws-sagemaker-modelpackage.json", "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", @@ -1228,6 +1225,8 @@ "aws-sso-instance.json", "aws-sso-instanceaccesscontrolattributeconfiguration.json", "aws-sso-permissionset.json", + "aws-stepfunctions-activity.json", + "aws-stepfunctions-statemachine.json", "aws-stepfunctions-statemachinealias.json", "aws-stepfunctions-statemachineversion.json", "aws-synthetics-canary.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-dynamodb-table.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-dynamodb-table.json index b916e63197..5525173ecd 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-dynamodb-table.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-dynamodb-table.json @@ -173,10 +173,6 @@ "type": "string" }, "KeyType": { - "enum": [ - "HASH", - "RANGE" - ], "type": "string" } }, @@ -297,11 +293,6 @@ "uniqueItems": false }, "ProjectionType": { - "enum": [ - "ALL", - "INCLUDE", - "KEYS_ONLY" - ], "type": "string" } }, @@ -406,12 +397,6 @@ "$ref": "#/definitions/ResourcePolicy" }, "StreamViewType": { - "enum": [ - "KEYS_ONLY", - "NEW_AND_OLD_IMAGES", - "NEW_IMAGE", - "OLD_IMAGE" - ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-placementgroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-placementgroup.json new file mode 100644 index 0000000000..64adef22fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-placementgroup.json @@ -0,0 +1,96 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/Strategy", + "/properties/SpreadLevel", + "/properties/PartitionCount" + ], + "definitions": { + "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": [ + "ec2:CreatePlacementGroup", + "ec2:DescribePlacementGroups", + "ec2:CreateTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DeletePlacementGroup", + "ec2:DescribePlacementGroups" + ] + }, + "list": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + }, + "read": { + "permissions": [ + "ec2:DescribePlacementGroups" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupName" + ], + "properties": { + "GroupName": { + "type": "string" + }, + "PartitionCount": { + "type": "integer" + }, + "SpreadLevel": { + "type": "string" + }, + "Strategy": { + "enum": [ + "cluster", + "partition", + "spread" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2", + "tagging": { + "cloudFormationSystemTags": false, + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::PlacementGroup" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshift-cluster.json new file mode 100644 index 0000000000..f82a300c72 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshift-cluster.json @@ -0,0 +1,434 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterIdentifier", + "/properties/OwnerAccount", + "/properties/SnapshotIdentifier", + "/properties/DBName", + "/properties/SnapshotClusterIdentifier", + "/properties/ClusterSubnetGroupName", + "/properties/MasterUsername" + ], + "definitions": { + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "relationshipRef": { + "propertyPath": "/properties/BucketName", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "redshift:DescribeClusters", + "redshift:CreateCluster", + "redshift:RestoreFromClusterSnapshot", + "redshift:EnableLogging", + "redshift:DescribeLoggingStatus", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:GetResourcePolicy", + "redshift:PutResourcePolicy", + "redshift:ModifyClusterMaintenance", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeAddresses", + "ec2:AssociateAddress", + "ec2:CreateNetworkInterface", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:CreateVpcEndpoint", + "ec2:DescribeVpcEndpoints", + "ec2:ModifyVpcEndpoint", + "ec2:AllocateAddress", + "ec2:CreateSecurityGroup", + "ec2:DescribeVpcAttribute", + "ec2:DescribeSecurityGroups", + "ec2:DescribeInternetGateways", + "ec2:DescribeSecurityGroupRules", + "ec2:DescribeAvailabilityZones", + "ec2:DescribeNetworkAcls", + "ec2:DescribeRouteTables", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:DeleteCluster" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeClusters" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeClusters", + "redshift:DescribeLoggingStatus", + "redshift:DescribeSnapshotCopyGrant", + "redshift:DescribeClusterDbRevisions", + "redshift:DescribeTags", + "redshift:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "redshift:DescribeClusters", + "redshift:ModifyCluster", + "redshift:ModifyClusterIamRoles", + "redshift:EnableLogging", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags", + "redshift:DisableLogging", + "redshift:DescribeLoggingStatus", + "redshift:RebootCluster", + "redshift:EnableSnapshotCopy", + "redshift:DisableSnapshotCopy", + "redshift:ModifySnapshotCopyRetentionPeriod", + "redshift:ModifyAquaConfiguration", + "redshift:ResizeCluster", + "redshift:ModifyClusterMaintenance", + "redshift:DescribeClusterDbRevisions", + "redshift:ModifyClusterDbRevisions", + "redshift:PauseCluster", + "redshift:ResumeCluster", + "redshift:RotateEncryptionKey", + "redshift:FailoverPrimaryCompute", + "redshift:PutResourcePolicy", + "redshift:GetResourcePolicy", + "redshift:DeleteResourcePolicy", + "cloudwatch:PutMetricData" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/ClusterIdentifier" + ], + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AquaConfigurationStatus": { + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "integer" + }, + "AvailabilityZone": { + "type": "string" + }, + "AvailabilityZoneRelocation": { + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "type": "string" + }, + "Classic": { + "type": "boolean" + }, + "ClusterIdentifier": { + "maxLength": 63, + "type": "string" + }, + "ClusterNamespaceArn": { + "type": "string" + }, + "ClusterParameterGroupName": { + "maxLength": 255, + "type": "string" + }, + "ClusterSecurityGroups": { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Redshift::ClusterSecurityGroup" + } + } + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DeferMaintenance": { + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "type": "integer" + }, + "DeferMaintenanceEndTime": { + "type": "string" + }, + "DeferMaintenanceIdentifier": { + "type": "string" + }, + "DeferMaintenanceStartTime": { + "type": "string" + }, + "DestinationRegion": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "EnhancedVpcRouting": { + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "maxItems": 50, + "type": "array" + }, + "KmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/LoggingProperties" + }, + "MaintenanceTrackName": { + "type": "string" + }, + "ManageMasterPassword": { + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "type": "integer" + }, + "MasterPasswordSecretArn": { + "type": "string" + }, + "MasterPasswordSecretKmsKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + } + ], + "type": "string" + }, + "MasterUserPassword": { + "maxLength": 64, + "type": "string" + }, + "MasterUsername": { + "maxLength": 128, + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ResourceAction": { + "type": "string" + }, + "RevisionTarget": { + "type": "string" + }, + "RotateEncryptionKey": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotCopyGrantName": { + "type": "string" + }, + "SnapshotCopyManual": { + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "type": "integer" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/VpcId", + "typeName": "AWS::EC2::VPC" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/DeferMaintenanceIdentifier", + "/properties/Endpoint/Port", + "/properties/Endpoint/Address", + "/properties/ClusterNamespaceArn", + "/properties/MasterPasswordSecretArn" + ], + "required": [ + "NodeType", + "MasterUsername", + "DBName", + "ClusterType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true + }, + "typeName": "AWS::Redshift::Cluster", + "writeOnlyProperties": [ + "/properties/MasterUserPassword", + "/properties/Classic", + "/properties/SnapshotIdentifier", + "/properties/DeferMaintenance", + "/properties/DeferMaintenanceDuration", + "/properties/ManageMasterPassword" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-modelpackage.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-modelpackage.json similarity index 88% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-modelpackage.json rename to src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-modelpackage.json index 04be3e312c..c6c497c7ad 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-modelpackage.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-modelpackage.json @@ -1,9 +1,5 @@ { "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/ModelCard", - "/properties/SourceUri" - ], "createOnlyProperties": [ "/properties/ModelPackageGroupName", "/properties/ModelPackageDescription", @@ -16,8 +12,7 @@ "/properties/DriftCheckBaselines", "/properties/Domain", "/properties/Task", - "/properties/SamplePayloadUrl", - "/properties/SecurityConfig" + "/properties/SamplePayloadUrl" ], "definitions": { "AdditionalInferenceSpecificationDefinition": { @@ -382,18 +377,6 @@ ], "type": "object" }, - "ModelAccessConfig": { - "additionalProperties": false, - "properties": { - "AcceptEula": { - "type": "boolean" - } - }, - "required": [ - "AcceptEula" - ], - "type": "object" - }, "ModelApprovalStatus": { "enum": [ "Approved", @@ -402,31 +385,6 @@ ], "type": "string" }, - "ModelCard": { - "additionalProperties": false, - "properties": { - "ModelCardContent": { - "maxLength": 100000, - "minLength": 0, - "pattern": ".*", - "type": "string" - }, - "ModelCardStatus": { - "enum": [ - "Draft", - "PendingReview", - "Approved", - "Archived" - ], - "type": "string" - } - }, - "required": [ - "ModelCardContent", - "ModelCardStatus" - ], - "type": "object" - }, "ModelDataQuality": { "additionalProperties": false, "properties": { @@ -439,15 +397,6 @@ }, "type": "object" }, - "ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/S3ModelDataSource" - } - }, - "type": "object" - }, "ModelMetrics": { "additionalProperties": false, "properties": { @@ -503,9 +452,6 @@ "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$", "type": "string" }, - "ModelDataSource": { - "$ref": "#/definitions/ModelDataSource" - }, "ModelDataUrl": { "maxLength": 1024, "pattern": "^(https|s3)://([^/]+)/?(.*)$", @@ -644,58 +590,11 @@ ], "type": "object" }, - "S3ModelDataSource": { - "additionalProperties": false, - "properties": { - "CompressionType": { - "enum": [ - "None", - "Gzip" - ], - "type": "string" - }, - "ModelAccessConfig": { - "$ref": "#/definitions/ModelAccessConfig" - }, - "S3DataType": { - "enum": [ - "S3Prefix", - "S3Object" - ], - "type": "string" - }, - "S3Uri": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "required": [ - "S3DataType", - "S3Uri", - "CompressionType" - ], - "type": "object" - }, "SamplePayloadUrl": { "maxLength": 1024, "pattern": "^(https|s3)://([^/]+)/?(.*)$", "type": "string" }, - "SecurityConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "maxLength": 2048, - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - } - }, - "required": [ - "KmsKeyId" - ], - "type": "object" - }, "SkipModelValidation": { "enum": [ "None", @@ -742,12 +641,6 @@ ], "type": "object" }, - "SourceUri": { - "maxLength": 1024, - "minLength": 0, - "pattern": "[\\p{L}\\p{M}\\p{Z}\\p{N}\\p{P}]{0,1024}", - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -960,22 +853,14 @@ "sagemaker:DescribeTransformJob", "sagemaker:DescribeModelPackage", "sagemaker:ListTags", - "sagemaker:UpdateModelPackage", "iam:PassRole", - "s3:GetObject", - "s3:ListBucket", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" + "s3:GetObject" ] }, "delete": { "permissions": [ "sagemaker:DeleteModelPackage", - "sagemaker:DescribeModelPackage", - "kms:DescribeKey", - "kms:Decrypt" + "sagemaker:DescribeModelPackage" ] }, "list": { @@ -993,25 +878,16 @@ "read": { "permissions": [ "sagemaker:DescribeModelPackage", - "sagemaker:ListTags", - "kms:DescribeKey", - "kms:Decrypt" + "sagemaker:ListTags" ] }, "update": { "permissions": [ - "ecr:BatchGetImage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackage", "sagemaker:ListTags", "sagemaker:AddTags", - "sagemaker:DeleteTags", - "s3:GetObject", - "s3:ListBucket", - "kms:CreateGrant", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" + "sagemaker:DeleteTags" ] } }, @@ -1058,9 +934,6 @@ "ModelApprovalStatus": { "$ref": "#/definitions/ModelApprovalStatus" }, - "ModelCard": { - "$ref": "#/definitions/ModelCard" - }, "ModelMetrics": { "$ref": "#/definitions/ModelMetrics" }, @@ -1088,18 +961,12 @@ "SamplePayloadUrl": { "$ref": "#/definitions/SamplePayloadUrl" }, - "SecurityConfig": { - "$ref": "#/definitions/SecurityConfig" - }, "SkipModelValidation": { "$ref": "#/definitions/SkipModelValidation" }, "SourceAlgorithmSpecification": { "$ref": "#/definitions/SourceAlgorithmSpecification" }, - "SourceUri": { - "$ref": "#/definitions/SourceUri" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json deleted file mode 100644 index bef2b2f085..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/EncryptionConfiguration" - ], - "definitions": { - "EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsDataKeyReusePeriodSeconds": { - "maximum": 900, - "minimum": 60, - "type": "integer" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Type": { - "enum": [ - "CUSTOMER_MANAGED_KMS_KEY", - "AWS_OWNED_KEY" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "states:CreateActivity", - "states:TagResource", - "kms:DescribeKey" - ] - }, - "delete": { - "permissions": [ - "states:DescribeActivity", - "states:DeleteActivity" - ] - }, - "list": { - "permissions": [ - "states:ListActivities" - ] - }, - "read": { - "permissions": [ - "states:DescribeActivity", - "states:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "states:ListTagsForResource", - "states:TagResource", - "states:UntagResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "Name": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TagsEntry" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::StepFunctions::Activity" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json deleted file mode 100644 index aa93e804d1..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/StateMachineName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/StateMachineName", - "/properties/StateMachineType" - ], - "definitions": { - "CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "Definition": { - "minProperties": 1, - "type": "object" - }, - "DefinitionSubstitutions": { - "additionalProperties": false, - "minProperties": 1, - "patternProperties": { - ".*": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "boolean" - } - ] - } - }, - "type": "object" - }, - "EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsDataKeyReusePeriodSeconds": { - "maximum": 900, - "minimum": 60, - "type": "integer" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Type": { - "enum": [ - "CUSTOMER_MANAGED_KMS_KEY", - "AWS_OWNED_KEY" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/CloudWatchLogsLogGroup" - } - }, - "type": "object" - }, - "LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogDestination" - }, - "minItems": 1, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "enum": [ - "ALL", - "ERROR", - "FATAL", - "OFF" - ], - "type": "string" - } - }, - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "states:CreateStateMachine", - "states:DescribeStateMachine", - "states:TagResource", - "iam:PassRole", - "s3:GetObject", - "kms:DescribeKey", - "kms:GenerateDataKey" - ] - }, - "delete": { - "permissions": [ - "states:DeleteStateMachine", - "states:DescribeStateMachine" - ] - }, - "list": { - "permissions": [ - "states:ListStateMachines" - ] - }, - "read": { - "permissions": [ - "states:DescribeStateMachine", - "states:ListTagsForResource", - "kms:Decrypt" - ] - }, - "update": { - "permissions": [ - "states:UpdateStateMachine", - "states:TagResource", - "states:UntagResource", - "states:ListTagsForResource", - "iam:PassRole", - "kms:DescribeKey", - "kms:GenerateDataKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/Definition" - }, - "DefinitionS3Location": { - "$ref": "#/definitions/S3Location" - }, - "DefinitionString": { - "maxLength": 1048576, - "minLength": 1, - "type": "string" - }, - "DefinitionSubstitutions": { - "$ref": "#/definitions/DefinitionSubstitutions" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/LoggingConfiguration" - }, - "Name": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "RoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "StateMachineName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "StateMachineRevisionId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "StateMachineType": { - "enum": [ - "STANDARD", - "EXPRESS" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TagsEntry" - }, - "type": "array", - "uniqueItems": false - }, - "TracingConfiguration": { - "$ref": "#/definitions/TracingConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/Name", - "/properties/StateMachineRevisionId" - ], - "required": [ - "RoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::StepFunctions::StateMachine", - "writeOnlyProperties": [ - "/properties/Definition", - "/properties/DefinitionS3Location", - "/properties/DefinitionSubstitutions" - ] -} 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 01df59c214..8912845160 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -158,6 +158,8 @@ "AWS::CleanRooms::Collaboration", "AWS::CleanRooms::ConfiguredTable", "AWS::CleanRooms::ConfiguredTableAssociation", + "AWS::CleanRooms::IdMappingTable", + "AWS::CleanRooms::IdNamespaceAssociation", "AWS::CleanRooms::Membership", "AWS::CleanRooms::PrivacyBudgetTemplate", "AWS::CleanRoomsML::TrainingDataset", @@ -1242,9 +1244,7 @@ cached: list[str] = [ "Module", "alexa-ask-skill.json", - "aws-accessanalyzer-analyzer.json", "aws-acmpca-certificate.json", - "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", "aws-amazonmq-broker.json", @@ -1396,6 +1396,8 @@ "aws-cleanrooms-collaboration.json", "aws-cleanrooms-configuredtable.json", "aws-cleanrooms-configuredtableassociation.json", + "aws-cleanrooms-idmappingtable.json", + "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", "aws-cleanrooms-privacybudgettemplate.json", "aws-cleanroomsml-trainingdataset.json", @@ -1554,11 +1556,14 @@ "aws-dax-parametergroup.json", "aws-dax-subnetgroup.json", "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", "aws-deadline-queuefleetassociation.json", + "aws-deadline-storageprofile.json", "aws-detective-graph.json", "aws-detective-memberinvitation.json", "aws-detective-organizationadmin.json", @@ -1628,6 +1633,7 @@ "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", + "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", "aws-ec2-route.json", "aws-ec2-routetable.json", @@ -1672,7 +1678,6 @@ "aws-ecr-repository.json", "aws-ecr-repositorycreationtemplate.json", "aws-ecs-capacityprovider.json", - "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", "aws-ecs-service.json", @@ -1930,11 +1935,11 @@ "aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json", "aws-kinesisanalyticsv2-applicationoutput.json", "aws-kinesisanalyticsv2-applicationreferencedatasource.json", - "aws-kinesisfirehose-deliverystream.json", "aws-kinesisvideo-signalingchannel.json", "aws-kinesisvideo-stream.json", "aws-kms-alias.json", "aws-kms-key.json", + "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -2011,6 +2016,8 @@ "aws-medialive-channel.json", "aws-medialive-input.json", "aws-medialive-inputsecuritygroup.json", + "aws-medialive-multiplex.json", + "aws-medialive-multiplexprogram.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -2212,7 +2219,6 @@ "aws-route53resolver-resolverendpoint.json", "aws-route53resolver-resolverqueryloggingconfig.json", "aws-route53resolver-resolverqueryloggingconfigassociation.json", - "aws-route53resolver-resolverrule.json", "aws-route53resolver-resolverruleassociation.json", "aws-rum-appmonitor.json", "aws-s3-accessgrant.json", @@ -2250,6 +2256,7 @@ "aws-sagemaker-modelbiasjobdefinition.json", "aws-sagemaker-modelcard.json", "aws-sagemaker-modelexplainabilityjobdefinition.json", + "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", "aws-sagemaker-modelqualityjobdefinition.json", "aws-sagemaker-monitoringschedule.json", @@ -2262,7 +2269,6 @@ "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", - "aws-scheduler-schedulegroup.json", "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-accessanalyzer-analyzer.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-accessanalyzer-analyzer.json new file mode 100644 index 0000000000..a04a2f2471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-accessanalyzer-analyzer.json @@ -0,0 +1,206 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AnalyzerName", + "/properties/Type", + "/properties/AnalyzerConfiguration" + ], + "definitions": { + "ArchiveRule": { + "additionalProperties": false, + "properties": { + "Filter": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Filter" + }, + "minItems": 1, + "type": "array" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Filter", + "RuleName" + ], + "type": "object" + }, + "Filter": { + "additionalProperties": false, + "properties": { + "Contains": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Eq": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Exists": { + "type": "boolean" + }, + "Neq": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "maximum": 180, + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "access-analyzer:CreateAnalyzer", + "access-analyzer:TagResource", + "iam:CreateServiceLinkedRole", + "organizations:ListAWSServiceAccessForOrganization", + "organizations:ListDelegatedAdministrators" + ] + }, + "delete": { + "permissions": [ + "access-analyzer:DeleteAnalyzer" + ] + }, + "list": { + "permissions": [ + "access-analyzer:ListAnalyzers" + ] + }, + "read": { + "permissions": [ + "access-analyzer:ListAnalyzers", + "access-analyzer:GetAnalyzer", + "access-analyzer:ListArchiveRules" + ] + }, + "update": { + "permissions": [ + "access-analyzer:CreateArchiveRule", + "access-analyzer:DeleteArchiveRule", + "access-analyzer:ListAnalyzers", + "access-analyzer:TagResource", + "access-analyzer:UntagResource", + "access-analyzer:UpdateArchiveRule" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/UnusedAccessConfiguration" + } + }, + "type": "object" + }, + "AnalyzerName": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "ArchiveRules": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ArchiveRule" + }, + "type": "array" + }, + "Arn": { + "maxLength": 1600, + "minLength": 1, + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "Type": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "Type" + ], + "resourceLink": { + "mappings": { + "AnalyzerName": "/AnalyzerName" + }, + "templateUri": "/access-analyzer/home?region=${awsRegion}#/analyzer/${AnalyzerName}" + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-accessanalyzer.git", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "access-analyzer:UntagResource", + "access-analyzer:TagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::AccessAnalyzer::Analyzer" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-acmpca-certificateauthority.json new file mode 100644 index 0000000000..8ad28ae39f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-acmpca-certificateauthority.json @@ -0,0 +1,444 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type", + "/properties/KeyAlgorithm", + "/properties/SigningAlgorithm", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/KeyStorageSecurityStandard", + "/properties/UsageMode" + ], + "definitions": { + "AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AccessMethod" + } + }, + "required": [ + "AccessMethod", + "AccessLocation" + ], + "type": "object" + }, + "AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "$ref": "#/definitions/AccessMethodType" + }, + "CustomObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + } + }, + "type": "object" + }, + "AccessMethodType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CrlDistributionPointExtensionConfiguration": { + "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" + }, + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "integer" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "CrlDistributionPointExtensionConfiguration": { + "additionalProperties": false, + "properties": { + "OmitExtension": { + "type": "boolean" + } + }, + "required": [ + "OmitExtension" + ], + "type": "object" + }, + "CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/KeyUsage" + }, + "SubjectInformationAccess": { + "$ref": "#/definitions/SubjectInformationAccess" + } + }, + "type": "object" + }, + "CustomAttribute": { + "additionalProperties": false, + "properties": { + "ObjectIdentifier": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "ObjectIdentifier", + "Value" + ], + "type": "object" + }, + "CustomAttributeList": { + "items": { + "$ref": "#/definitions/CustomAttribute" + }, + "type": "array" + }, + "CustomObjectIdentifier": { + "type": "string" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "PartyName" + ], + "type": "object" + }, + "GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/Subject" + }, + "DnsName": { + "$ref": "#/definitions/DnsName" + }, + "EdiPartyName": { + "$ref": "#/definitions/EdiPartyName" + }, + "IpAddress": { + "$ref": "#/definitions/IpAddress" + }, + "OtherName": { + "$ref": "#/definitions/OtherName" + }, + "RegisteredId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Rfc822Name": { + "$ref": "#/definitions/Rfc822Name" + }, + "UniformResourceIdentifier": { + "$ref": "#/definitions/UniformResourceIdentifier" + } + }, + "type": "object" + }, + "IpAddress": { + "type": "string" + }, + "KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "default": false, + "type": "boolean" + }, + "DataEncipherment": { + "default": false, + "type": "boolean" + }, + "DecipherOnly": { + "default": false, + "type": "boolean" + }, + "DigitalSignature": { + "default": false, + "type": "boolean" + }, + "EncipherOnly": { + "default": false, + "type": "boolean" + }, + "KeyAgreement": { + "default": false, + "type": "boolean" + }, + "KeyCertSign": { + "default": false, + "type": "boolean" + }, + "KeyEncipherment": { + "default": false, + "type": "boolean" + }, + "NonRepudiation": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "OcspConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OcspCustomCname": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "$ref": "#/definitions/CustomObjectIdentifier" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/CrlConfiguration" + }, + "OcspConfiguration": { + "$ref": "#/definitions/OcspConfiguration" + } + }, + "type": "object" + }, + "Rfc822Name": { + "type": "string" + }, + "Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributeList" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AccessDescription" + }, + "type": "array" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "acm-pca:CreateCertificateAuthority", + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr" + ] + }, + "delete": { + "permissions": [ + "acm-pca:DeleteCertificateAuthority", + "acm-pca:DescribeCertificateAuthority" + ] + }, + "list": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListCertificateAuthorities", + "acm-pca:ListTags" + ] + }, + "read": { + "permissions": [ + "acm-pca:DescribeCertificateAuthority", + "acm-pca:GetCertificateAuthorityCsr", + "acm-pca:ListTags" + ] + }, + "update": { + "permissions": [ + "acm-pca:ListTags", + "acm-pca:TagCertificateAuthority", + "acm-pca:UntagCertificateAuthority", + "acm-pca:UpdateCertificateAuthority" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "CsrExtensions": { + "$ref": "#/definitions/CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UsageMode": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CertificateSigningRequest" + ], + "required": [ + "Type", + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ACMPCA.html", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ACMPCA::CertificateAuthority", + "writeOnlyProperties": [ + "/properties/Subject", + "/properties/Subject", + "/properties/CsrExtensions", + "/properties/Tags", + "/properties/RevocationConfiguration", + "/properties/KeyStorageSecurityStandard" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-cluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-cluster.json new file mode 100644 index 0000000000..edbc65c683 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-cluster.json @@ -0,0 +1,226 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ClusterName" + ], + "definitions": { + "CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "integer" + }, + "CapacityProvider": { + "relationshipRef": { + "propertyPath": "/properties/Name", + "typeName": "AWS::ECS::CapacityProvider" + }, + "type": "string" + }, + "Weight": { + "type": "integer" + } + }, + "type": "object" + }, + "ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/ExecuteCommandConfiguration" + }, + "ManagedStorageConfiguration": { + "$ref": "#/definitions/ManagedStorageConfiguration" + } + }, + "type": "object" + }, + "ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + }, + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "relationshipRef": { + "propertyPath": "/properties/LogGroupName", + "typeName": "AWS::Logs::LogGroup" + }, + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "ManagedStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FargateEphemeralStorageKmsKeyId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceConnectDefaults": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ecs:CreateCluster", + "ecs:DescribeClusters", + "iam:CreateServiceLinkedRole", + "ecs:TagResource", + "kms:DescribeKey" + ] + }, + "delete": { + "permissions": [ + "ecs:DeleteCluster", + "ecs:DescribeClusters", + "kms:DescribeKey" + ] + }, + "list": { + "permissions": [ + "ecs:DescribeClusters", + "ecs:ListClusters" + ] + }, + "read": { + "permissions": [ + "ecs:DescribeClusters", + "kms:DescribeKey" + ] + }, + "update": { + "permissions": [ + "ecs:PutAccountSettingDefault", + "ecs:DescribeClusters", + "ecs:TagResource", + "ecs:UntagResource", + "ecs:PutAccountSetting", + "ecs:ListTagsForResource", + "ecs:UpdateCluster", + "ecs:UpdateClusterSettings", + "ecs:PutClusterCapacityProviders", + "kms:DescribeKey" + ] + } + }, + "primaryIdentifier": [ + "/properties/ClusterName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/CapacityProviderStrategyItem" + }, + "type": "array" + }, + "ServiceConnectDefaults": { + "$ref": "#/definitions/ServiceConnectDefaults" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "propertyTransform": { + "/properties/Configuration/ManagedStorageConfiguration/FargateEphemeralStorageKmsKeyId": "$join([\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/\", FargateEphemeralStorageKmsKeyId])" + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "tagging": { + "taggable": true + }, + "typeName": "AWS::ECS::Cluster", + "writeOnlyProperties": [ + "/properties/ServiceConnectDefaults" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesisfirehose-deliverystream.json new file mode 100644 index 0000000000..2ddfab45b0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-kinesisfirehose-deliverystream.json @@ -0,0 +1,1733 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DeliveryStreamName", + "/properties/DeliveryStreamType", + "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration", + "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration", + "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", + "/properties/KinesisStreamSourceConfiguration", + "/properties/MSKSourceConfiguration", + "/properties/IcebergDestinationConfiguration", + "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration" + ], + "definitions": { + "AmazonOpenSearchServerlessBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + }, + "type": "object" + }, + "AmazonOpenSearchServerlessDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "CollectionEndpoint": { + "maxLength": 512, + "minLength": 1, + "pattern": "https:.*", + "relationshipRef": { + "propertyPath": "/properties/CollectionEndpoint", + "typeName": "AWS::OpenSearchServerless::Collection" + }, + "type": "string" + }, + "IndexName": { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupMode": { + "enum": [ + "FailedDocumentsOnly", + "AllDocuments" + ], + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/VpcConfiguration" + } + }, + "required": [ + "IndexName", + "S3Configuration", + "RoleARN" + ], + "type": "object" + }, + "AmazonOpenSearchServerlessRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "AmazonopensearchserviceBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + }, + "type": "object" + }, + "AmazonopensearchserviceDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AmazonopensearchserviceBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "maxLength": 512, + "minLength": 1, + "pattern": "https:.*", + "type": "string" + }, + "DocumentIdOptions": { + "$ref": "#/definitions/DocumentIdOptions" + }, + "DomainARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "type": "string" + }, + "IndexName": { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + "IndexRotationPeriod": { + "enum": [ + "NoRotation", + "OneHour", + "OneDay", + "OneWeek", + "OneMonth" + ], + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AmazonopensearchserviceRetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupMode": { + "enum": [ + "FailedDocumentsOnly", + "AllDocuments" + ], + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "TypeName": { + "maxLength": 100, + "minLength": 0, + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/VpcConfiguration" + } + }, + "required": [ + "IndexName", + "S3Configuration", + "RoleARN" + ], + "type": "object" + }, + "AmazonopensearchserviceRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "Connectivity": { + "enum": [ + "PUBLIC", + "PRIVATE" + ], + "type": "string" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + } + }, + "required": [ + "RoleARN", + "Connectivity" + ], + "type": "object" + }, + "BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + }, + "type": "object" + }, + "CatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogArn": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "type": "string" + } + }, + "type": "object" + }, + "CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "relationshipRef": { + "propertyPath": "/properties/LogGroupName", + "typeName": "AWS::Logs::LogGroup" + }, + "type": "string" + }, + "LogStreamName": { + "relationshipRef": { + "propertyPath": "/properties/LogStreamName", + "typeName": "AWS::Logs::LogStream" + }, + "type": "string" + } + }, + "type": "object" + }, + "CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "maxLength": 204800, + "minLength": 0, + "type": "string" + }, + "DataTableColumns": { + "maxLength": 204800, + "minLength": 0, + "type": "string" + }, + "DataTableName": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/SchemaConfiguration" + } + }, + "type": "object" + }, + "DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + }, + "type": "string" + }, + "KeyType": { + "enum": [ + "AWS_OWNED_CMK", + "CUSTOMER_MANAGED_CMK" + ], + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/OpenXJsonSerDe" + } + }, + "type": "object" + }, + "DestinationTableConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationDatabaseName": { + "maxLength": 512, + "minLength": 1, + "type": "string" + }, + "DestinationTableName": { + "maxLength": 512, + "minLength": 1, + "type": "string" + }, + "S3ErrorOutputPrefix": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "UniqueKeys": { + "items": { + "$ref": "#/definitions/UniqueKey" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "DestinationDatabaseName", + "DestinationTableName" + ], + "type": "object" + }, + "DestinationTableConfigurationList": { + "items": { + "$ref": "#/definitions/DestinationTableConfiguration" + }, + "type": "array" + }, + "DocumentIdOptions": { + "additionalProperties": false, + "properties": { + "DefaultDocumentIdFormat": { + "enum": [ + "FIREHOSE_DEFAULT", + "NO_DOCUMENT_ID" + ], + "type": "string" + } + }, + "required": [ + "DefaultDocumentIdFormat" + ], + "type": "object" + }, + "DynamicPartitioningConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetryOptions": { + "$ref": "#/definitions/RetryOptions" + } + }, + "type": "object" + }, + "ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + }, + "type": "object" + }, + "ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "maxLength": 512, + "minLength": 1, + "pattern": "https:.*", + "type": "string" + }, + "DocumentIdOptions": { + "$ref": "#/definitions/DocumentIdOptions" + }, + "DomainARN": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::Elasticsearch::Domain" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::OpenSearchService::Domain" + } + } + ], + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "type": "string" + }, + "IndexName": { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + "IndexRotationPeriod": { + "enum": [ + "NoRotation", + "OneHour", + "OneDay", + "OneWeek", + "OneMonth" + ], + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/ElasticsearchRetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupMode": { + "enum": [ + "FailedDocumentsOnly", + "AllDocuments" + ], + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "TypeName": { + "maxLength": 100, + "minLength": 0, + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/VpcConfiguration" + } + }, + "required": [ + "IndexName", + "S3Configuration", + "RoleARN" + ], + "type": "object" + }, + "ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "enum": [ + "NoEncryption" + ], + "type": "string" + } + }, + "type": "object" + }, + "ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "maxLength": 2048, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "enum": [ + "UNCOMPRESSED", + "GZIP", + "ZIP", + "Snappy", + "HADOOP_SNAPPY" + ], + "type": "string" + }, + "CustomTimeZone": { + "maxLength": 50, + "minLength": 0, + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/DataFormatConversionConfiguration" + }, + "DynamicPartitioningConfiguration": { + "$ref": "#/definitions/DynamicPartitioningConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "FileExtension": { + "maxLength": 128, + "minLength": 0, + "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+", + "type": "string" + }, + "Prefix": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "S3BackupMode": { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "AttributeValue": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "maxLength": 4096, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Url": { + "maxLength": 1000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/RetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/HttpEndpointCommonAttribute" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "ContentEncoding": { + "enum": [ + "NONE", + "GZIP" + ], + "type": "string" + } + }, + "type": "object" + }, + "IcebergDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/BufferingHints" + }, + "CatalogConfiguration": { + "$ref": "#/definitions/CatalogConfiguration" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "DestinationTableConfigurationList": { + "$ref": "#/definitions/DestinationTableConfigurationList" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/RetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "s3BackupMode": { + "enum": [ + "AllData", + "FailedDataOnly" + ], + "type": "string" + } + }, + "required": [ + "RoleARN", + "CatalogConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/Deserializer" + } + }, + "type": "object" + }, + "KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + }, + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::Kinesis::Stream" + }, + "type": "string" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + } + }, + "required": [ + "RoleARN", + "KinesisStreamARN" + ], + "type": "object" + }, + "MSKSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AuthenticationConfiguration" + }, + "MSKClusterARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::MSK::Cluster" + }, + "type": "string" + }, + "ReadFromTimestamp": { + "type": "string" + }, + "TopicName": { + "maxLength": 255, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\._\\-]+", + "type": "string" + } + }, + "required": [ + "MSKClusterARN", + "TopicName", + "AuthenticationConfiguration" + ], + "type": "object" + }, + "OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "integer" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "integer" + }, + "StripeSizeBytes": { + "type": "integer" + } + }, + "type": "object" + }, + "OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/Serializer" + } + }, + "type": "object" + }, + "ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "integer" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "integer" + }, + "PageSizeBytes": { + "type": "integer" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/Processor" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/ProcessorParameter" + }, + "type": "array", + "uniqueItems": true + }, + "Type": { + "enum": [ + "RecordDeAggregation", + "Decompression", + "CloudWatchLogProcessing", + "Lambda", + "MetadataExtraction", + "AppendDelimiterToRecord" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::Lambda::Function" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Lambda::Alias" + } + } + ], + "type": "string" + } + }, + "required": [ + "ParameterValue", + "ParameterName" + ], + "type": "object" + }, + "RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "maxLength": 512, + "minLength": 1, + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/CopyCommand" + }, + "Password": { + "maxLength": 512, + "minLength": 6, + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/RedshiftRetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "S3BackupMode": { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + }, + "Username": { + "maxLength": 512, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "S3Configuration", + "ClusterJDBCURL", + "CopyCommand", + "RoleARN" + ], + "type": "object" + }, + "RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "maxLength": 2048, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::S3::Bucket" + }, + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "enum": [ + "UNCOMPRESSED", + "GZIP", + "ZIP", + "Snappy", + "HADOOP_SNAPPY" + ], + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "Prefix": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Glue::Database" + }, + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "TableName": { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::Glue::Table" + }, + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "SecretsManagerConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "SecretARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::SecretsManager::Secret" + }, + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/ParquetSerDe" + } + }, + "type": "object" + }, + "SnowflakeBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + }, + "type": "object" + }, + "SnowflakeDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "AccountUrl": { + "maxLength": 2048, + "minLength": 24, + "pattern": ".+?\\.snowflakecomputing\\.com", + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/SnowflakeBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "ContentColumnName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "DataLoadingOption": { + "enum": [ + "JSON_MAPPING", + "VARIANT_CONTENT_MAPPING", + "VARIANT_CONTENT_AND_METADATA_MAPPING" + ], + "type": "string" + }, + "Database": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "KeyPassphrase": { + "maxLength": 255, + "minLength": 7, + "type": "string" + }, + "MetaDataColumnName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PrivateKey": { + "maxLength": 4096, + "minLength": 256, + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$", + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/SnowflakeRetryOptions" + }, + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "S3BackupMode": { + "enum": [ + "FailedDataOnly", + "AllData" + ], + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "Schema": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + }, + "SnowflakeRoleConfiguration": { + "$ref": "#/definitions/SnowflakeRoleConfiguration" + }, + "SnowflakeVpcConfiguration": { + "$ref": "#/definitions/SnowflakeVpcConfiguration" + }, + "Table": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "User": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "AccountUrl", + "Database", + "Schema", + "Table", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "SnowflakeRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "SnowflakeRoleConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "SnowflakeRole": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SnowflakeVpcConfiguration": { + "additionalProperties": false, + "properties": { + "PrivateLinkVpceId": { + "maxLength": 255, + "minLength": 47, + "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$", + "type": "string" + } + }, + "required": [ + "PrivateLinkVpceId" + ], + "type": "object" + }, + "SplunkBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "integer" + }, + "SizeInMBs": { + "type": "integer" + } + }, + "type": "object" + }, + "SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/SplunkBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "maximum": 600, + "minimum": 180, + "type": "integer" + }, + "HECEndpoint": { + "maxLength": 2048, + "minLength": 0, + "type": "string" + }, + "HECEndpointType": { + "enum": [ + "Raw", + "Event" + ], + "type": "string" + }, + "HECToken": { + "maxLength": 2048, + "minLength": 0, + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + } + }, + "required": [ + "HECEndpoint", + "S3Configuration", + "HECEndpointType" + ], + "type": "object" + }, + "SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "UniqueKey": { + "maxLength": 512, + "minLength": 1, + "type": "string" + }, + "VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "maxLength": 512, + "minLength": 1, + "pattern": "arn:.*", + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::IAM::Role" + }, + "type": "string" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 1024, + "minLength": 1, + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + }, + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "maxLength": 1024, + "minLength": 1, + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "maxItems": 16, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "RoleARN", + "SubnetIds", + "SecurityGroupIds" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "firehose:CreateDeliveryStream", + "firehose:DescribeDeliveryStream", + "iam:GetRole", + "iam:PassRole", + "kms:CreateGrant", + "kms:DescribeKey" + ] + }, + "delete": { + "permissions": [ + "firehose:DeleteDeliveryStream", + "firehose:DescribeDeliveryStream", + "kms:RevokeGrant", + "kms:DescribeKey" + ] + }, + "list": { + "permissions": [ + "firehose:ListDeliveryStreams" + ] + }, + "read": { + "permissions": [ + "firehose:DescribeDeliveryStream", + "firehose:ListTagsForDeliveryStream" + ] + }, + "update": { + "permissions": [ + "firehose:UpdateDestination", + "firehose:DescribeDeliveryStream", + "firehose:StartDeliveryStreamEncryption", + "firehose:StopDeliveryStreamEncryption", + "firehose:ListTagsForDeliveryStream", + "firehose:TagDeliveryStream", + "firehose:UntagDeliveryStream", + "kms:CreateGrant", + "kms:RevokeGrant", + "kms:DescribeKey" + ] + } + }, + "primaryIdentifier": [ + "/properties/DeliveryStreamName" + ], + "properties": { + "AmazonOpenSearchServerlessDestinationConfiguration": { + "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration" + }, + "AmazonopensearchserviceDestinationConfiguration": { + "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration" + }, + "Arn": { + "type": "string" + }, + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "maxLength": 64, + "minLength": 1, + "pattern": "[a-zA-Z0-9._-]+", + "type": "string" + }, + "DeliveryStreamType": { + "enum": [ + "DirectPut", + "KinesisStreamAsSource", + "MSKAsSource" + ], + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/HttpEndpointDestinationConfiguration" + }, + "IcebergDestinationConfiguration": { + "$ref": "#/definitions/IcebergDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/KinesisStreamSourceConfiguration" + }, + "MSKSourceConfiguration": { + "$ref": "#/definitions/MSKSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/S3DestinationConfiguration" + }, + "SnowflakeDestinationConfiguration": { + "$ref": "#/definitions/SnowflakeDestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "typeName": "AWS::KinesisFirehose::DeliveryStream" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-route53resolver-resolverrule.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-route53resolver-resolverrule.json new file mode 100644 index 0000000000..82fe54c7d3 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-route53resolver-resolverrule.json @@ -0,0 +1,166 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/DomainName" + ], + "createOnlyProperties": [ + "/properties/RuleType" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "Port": { + "maxLength": 65535, + "minLength": 0, + "type": "string" + }, + "Protocol": { + "enum": [ + "Do53", + "DoH" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "route53resolver:CreateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource" + ] + }, + "delete": { + "permissions": [ + "route53resolver:DeleteResolverRule", + "route53resolver:GetResolverRule" + ] + }, + "list": { + "permissions": [ + "route53resolver:ListResolverRules" + ] + }, + "read": { + "permissions": [ + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "route53resolver:UpdateResolverRule", + "route53resolver:GetResolverRule", + "route53resolver:ListTagsForResource", + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/ResolverRuleId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DelegationRecord": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "DomainName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Name": { + "maxLength": 64, + "minLength": 0, + "type": "string" + }, + "ResolverEndpointId": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "RuleType": { + "enum": [ + "FORWARD", + "SYSTEM", + "RECURSIVE", + "DELEGATE" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TargetIps": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetAddress" + }, + "type": "array", + "uniqueItems": false + } + }, + "propertyTransform": { + "/properties/DomainName": "$join([DomainName, \".\"]) $OR DomainName" + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ResolverRuleId" + ], + "required": [ + "RuleType" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Route53Resolver::ResolverRule" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json deleted file mode 100644 index 04be3e312c..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json +++ /dev/null @@ -1,1135 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/ModelCard", - "/properties/SourceUri" - ], - "createOnlyProperties": [ - "/properties/ModelPackageGroupName", - "/properties/ModelPackageDescription", - "/properties/InferenceSpecification", - "/properties/ValidationSpecification", - "/properties/SourceAlgorithmSpecification", - "/properties/MetadataProperties", - "/properties/ModelMetrics", - "/properties/ClientToken", - "/properties/DriftCheckBaselines", - "/properties/Domain", - "/properties/Task", - "/properties/SamplePayloadUrl", - "/properties/SecurityConfig" - ], - "definitions": { - "AdditionalInferenceSpecificationDefinition": { - "additionalProperties": false, - "properties": { - "Containers": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ModelPackageContainerDefinition" - }, - "maxItems": 15, - "minItems": 1, - "type": "array" - }, - "Description": { - "maxLength": 1024, - "pattern": ".*", - "type": "string" - }, - "Name": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SupportedContentTypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ContentType" - }, - "type": "array" - }, - "SupportedRealtimeInferenceInstanceTypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/InferenceInstanceType" - }, - "type": "array" - }, - "SupportedResponseMIMETypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ResponseMIMEType" - }, - "type": "array" - }, - "SupportedTransformInstanceTypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/TransformInstanceType" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Containers", - "Name" - ], - "type": "object" - }, - "AdditionalInferenceSpecifications": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/AdditionalInferenceSpecificationDefinition" - }, - "maxItems": 15, - "minItems": 1, - "type": "array" - }, - "ApprovalDescription": { - "maxLength": 1024, - "pattern": ".*", - "type": "string" - }, - "Bias": { - "additionalProperties": false, - "properties": { - "PostTrainingReport": { - "$ref": "#/definitions/MetricsSource" - }, - "PreTrainingReport": { - "$ref": "#/definitions/MetricsSource" - }, - "Report": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "CertifyForMarketplace": { - "type": "boolean" - }, - "ClientToken": { - "maxLength": 36, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "ContentType": { - "maxLength": 256, - "pattern": ".*", - "type": "string" - }, - "CreationTime": { - "type": "string" - }, - "CustomerMetadataProperties": { - "additionalProperties": false, - "maxProperties": 50, - "minProperties": 1, - "patternProperties": { - "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,128}": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,256}": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "Domain": { - "type": "string" - }, - "DriftCheckBaselines": { - "additionalProperties": false, - "properties": { - "Bias": { - "$ref": "#/definitions/DriftCheckBias" - }, - "Explainability": { - "$ref": "#/definitions/DriftCheckExplainability" - }, - "ModelDataQuality": { - "$ref": "#/definitions/DriftCheckModelDataQuality" - }, - "ModelQuality": { - "$ref": "#/definitions/DriftCheckModelQuality" - } - }, - "type": "object" - }, - "DriftCheckBias": { - "additionalProperties": false, - "properties": { - "ConfigFile": { - "$ref": "#/definitions/FileSource" - }, - "PostTrainingConstraints": { - "$ref": "#/definitions/MetricsSource" - }, - "PreTrainingConstraints": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "DriftCheckExplainability": { - "additionalProperties": false, - "properties": { - "ConfigFile": { - "$ref": "#/definitions/FileSource" - }, - "Constraints": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "DriftCheckModelDataQuality": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/MetricsSource" - }, - "Statistics": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "DriftCheckModelQuality": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/MetricsSource" - }, - "Statistics": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "maxProperties": 16, - "patternProperties": { - "[\\S\\s]*": { - "maxLength": 1024, - "type": "string" - }, - "[a-zA-Z_][a-zA-Z0-9_]*": { - "maxLength": 1024, - "type": "string" - } - }, - "type": "object" - }, - "Explainability": { - "additionalProperties": false, - "properties": { - "Report": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "FileSource": { - "additionalProperties": false, - "properties": { - "ContentDigest": { - "maxLength": 72, - "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$", - "type": "string" - }, - "ContentType": { - "maxLength": 256, - "pattern": ".*", - "type": "string" - }, - "S3Uri": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "InferenceInstanceType": { - "type": "string" - }, - "InferenceSpecification": { - "additionalProperties": false, - "properties": { - "Containers": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ModelPackageContainerDefinition" - }, - "maxItems": 15, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SupportedContentTypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ContentType" - }, - "type": "array" - }, - "SupportedRealtimeInferenceInstanceTypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/InferenceInstanceType" - }, - "type": "array" - }, - "SupportedResponseMIMETypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ResponseMIMEType" - }, - "type": "array" - }, - "SupportedTransformInstanceTypes": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/TransformInstanceType" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Containers", - "SupportedContentTypes", - "SupportedResponseMIMETypes" - ], - "type": "object" - }, - "LastModifiedTime": { - "type": "string" - }, - "MetadataProperties": { - "additionalProperties": false, - "properties": { - "CommitId": { - "maxLength": 1024, - "pattern": ".*", - "type": "string" - }, - "GeneratedBy": { - "maxLength": 1024, - "pattern": ".*", - "type": "string" - }, - "ProjectId": { - "maxLength": 1024, - "pattern": ".*", - "type": "string" - }, - "Repository": { - "maxLength": 1024, - "pattern": ".*", - "type": "string" - } - }, - "type": "object" - }, - "MetricsSource": { - "additionalProperties": false, - "properties": { - "ContentDigest": { - "maxLength": 72, - "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$", - "type": "string" - }, - "ContentType": { - "maxLength": 256, - "pattern": ".*", - "type": "string" - }, - "S3Uri": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "required": [ - "ContentType", - "S3Uri" - ], - "type": "object" - }, - "ModelAccessConfig": { - "additionalProperties": false, - "properties": { - "AcceptEula": { - "type": "boolean" - } - }, - "required": [ - "AcceptEula" - ], - "type": "object" - }, - "ModelApprovalStatus": { - "enum": [ - "Approved", - "Rejected", - "PendingManualApproval" - ], - "type": "string" - }, - "ModelCard": { - "additionalProperties": false, - "properties": { - "ModelCardContent": { - "maxLength": 100000, - "minLength": 0, - "pattern": ".*", - "type": "string" - }, - "ModelCardStatus": { - "enum": [ - "Draft", - "PendingReview", - "Approved", - "Archived" - ], - "type": "string" - } - }, - "required": [ - "ModelCardContent", - "ModelCardStatus" - ], - "type": "object" - }, - "ModelDataQuality": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/MetricsSource" - }, - "Statistics": { - "$ref": "#/definitions/MetricsSource" - } - }, - "type": "object" - }, - "ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/S3ModelDataSource" - } - }, - "type": "object" - }, - "ModelMetrics": { - "additionalProperties": false, - "properties": { - "Bias": { - "$ref": "#/definitions/Bias" - }, - "Explainability": { - "$ref": "#/definitions/Explainability" - }, - "ModelDataQuality": { - "$ref": "#/definitions/ModelDataQuality" - }, - "ModelQuality": { - "$ref": "#/definitions/ModelQuality" - } - }, - "type": "object" - }, - "ModelPackageArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$", - "type": "string" - }, - "ModelPackageContainerDefinition": { - "additionalProperties": false, - "properties": { - "ContainerHostname": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/Environment" - }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { - "maxLength": 10, - "minLength": 3, - "pattern": "[0-9]\\.[A-Za-z0-9.]+", - "type": "string" - }, - "Image": { - "maxLength": 255, - "minLength": 1, - "pattern": "[\\S]{1,255}", - "type": "string" - }, - "ImageDigest": { - "maxLength": 72, - "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$", - "type": "string" - }, - "ModelDataSource": { - "$ref": "#/definitions/ModelDataSource" - }, - "ModelDataUrl": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - }, - "ModelInput": { - "additionalProperties": false, - "properties": { - "DataInputConfig": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[\\S\\s]+", - "type": "string" - } - }, - "required": [ - "DataInputConfig" - ], - "type": "object" - }, - "NearestModelName": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "ModelPackageDescription": { - "maxLength": 1024, - "pattern": "[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*", - "type": "string" - }, - "ModelPackageGroupName": { - "maxLength": 170, - "minLength": 1, - "pattern": "(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?