diff --git a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json index b6679d3454..66257778d3 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"087e99e1ab3bde74923d6a7b3c24fcd6\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"07903209c6db4f89f261743b11f0c11a\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json index 9b1eefa2ce..9426d1e9b8 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"3cafd914f4935c3841f1dd0598715fa4\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"40267d0f81599b30854d25f40be73c4d\"", "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 eef6ac3357..df29756185 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"1e4d994938712b0467079880dc4f38e7\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7c4db93f7e2a6db4f561c4bd0e0be652\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json index 7f059f37ed..8d6e321318 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"00d9040f11ddf55b145416d7ed48aa3a\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"fd87d257d9d228e6c6e1ef2c00ab6d9b\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json index 124968c156..b565a86d8c 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"d2b9b751b48e2e384de79f01dc131f19\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6d5965d0a338dfd69b7291aac2290208\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json index 2db7eb96a8..1fd8d610d8 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"335ff38a57d1a89695fcfd1c2470a55e\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1b78bced7eb52159929d4e2255d2cae9\"", "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 ec1ab421d7..d4970524e0 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"2a18dbf19c845c8cce7fb20814d2383c\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c5a77052ba4f313b72c7fe051f72ce83\"", "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 6294bf869d..eceb7f183e 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"4068081c6a3339218909e461921934ec\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"402b563254e0765a2ea6c30f516634c6\"", "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 dee82e007f..38c13e033e 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"d8d4f3f86473a403329acb6c72b66547\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"11b67461dd38d2b3547f51f44d34b6d5\"", "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 174710bdbe..649815e87f 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"e63c897c463335198d41d4a33a276a27\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ebf4273457e71a460f2394004739f0b8\"", "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 31a30c4642..5a4c6035ee 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"6019cf2b598c20334f8d0d1ee3dacf14\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"024c03fa1a45f8e182db8ae83cdd31c1\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json index 8f33bb0047..47035e3a56 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"014b30c426afef040318008b5001ba7e\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"05654284dad54e6b1cdd6bfa0e9354bc\"", "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 9459090bb6..fc00cf36c4 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"baff5f51b5b375d6fc5c69794cda7e78\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fc49d7fdaebcdbe567b58ea44eabf48d\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json index 73241539c4..84517cfbe4 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"8dfcb97d79108da7a3a9bee471753ebd\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fbfb07c0253c5754f009d71e4c8bb80d\"", "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 ccb22c5c16..196582e772 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"f9cac20eb9de7d911294162b3ee171c5\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a07395e3bd669f3e72ea2df9639898e8\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json index 000d9aebc2..4540ddb191 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"afe5254cefc9cf52c52231147b14e53b\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"de613316af2381c4996ae1d15dd14306\"", "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 78136e3132..243270e32c 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"e0e3a0b69fb1e19fe2322138ff361737\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c1549028d15e77124d915f42dd5b4f05\"", "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 8523d3f565..8e1b730bb0 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"e53c057d9668ec57bc0ae3ed905fe692\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a1f848436addd536bd60599ef5b5f231\"", "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 c87be0d73d..3b81b46b44 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"a241dc508446188f7a36407b75def725\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5b35c384b930cca8614021755ef3156a\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json index 347a3c2735..12b7653ed4 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"6fa47e48ed076ed6b7809cb152c65472\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"084d94123705cb2385b2d2071cf76b1e\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cloudwatch_insightrule/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_cloudwatch_insightrule/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cloudwatch_insightrule/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cloudwatch_insightrule/tags.json new file mode 100644 index 0000000000..5b80d04f53 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cloudwatch_insightrule/tags.json @@ -0,0 +1,28 @@ +[ + { + "op": "test", + "path": "/definitions/Tags", + "value": { + "additionalProperties": false, + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/Tags", + "value": { + "items": { + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_glue_securityconfiguration/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_glue_securityconfiguration/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_glue_securityconfiguration/s3encryptions.json b/src/cfnlint/data/schemas/patches/providers/all/aws_glue_securityconfiguration/s3encryptions.json new file mode 100644 index 0000000000..90a3a5bd3e --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_glue_securityconfiguration/s3encryptions.json @@ -0,0 +1,33 @@ +[ + { + "op": "test", + "path": "/definitions/S3Encryptions", + "value": { + "additionalProperties": false, + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/S3Encryptions", + "value": { + "items": { + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "enum": [ + "DISABLED", + "SSE-KMS", + "SSE-S3" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_server/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_server/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_server/protocol.json b/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_server/protocol.json new file mode 100644 index 0000000000..aebd6be791 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_server/protocol.json @@ -0,0 +1,17 @@ +[ + { + "op": "test", + "path": "/definitions/Protocol", + "value": { + "additionalProperties": false, + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/Protocol", + "value": { + "type": "string" + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_user/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_user/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_user/sshpublickeys.json b/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_user/sshpublickeys.json new file mode 100644 index 0000000000..3cb1332827 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_transfer_user/sshpublickeys.json @@ -0,0 +1,17 @@ +[ + { + "op": "test", + "path": "/definitions/SshPublicKey", + "value": { + "additionalProperties": false, + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/SshPublicKey", + "value": { + "type": "string" + } + } +] 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 6ca82e461c..9d5dbcad63 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -876,7 +876,6 @@ "aws-acmpca-permission.json", "aws-neptune-dbsubnetgroup.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1104,7 +1103,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-connect-quickconnect.json", @@ -1480,7 +1478,6 @@ "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json similarity index 93% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainname.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json index 8e795268ca..1eb496645f 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainname.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json @@ -119,12 +119,5 @@ "/properties/DistributionHostedZoneId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, "typeName": "AWS::ApiGateway::DomainName" } diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-eks-cluster.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-eks-cluster.json index d2d12d1fbe..f90589ca3b 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-eks-cluster.json @@ -6,8 +6,7 @@ "/properties/KubernetesNetworkConfig", "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/Name", - "/properties/RoleArn", - "/properties/BootstrapSelfManagedAddons" + "/properties/RoleArn" ], "definitions": { "AccessConfig": { @@ -268,9 +267,6 @@ "Arn": { "type": "string" }, - "BootstrapSelfManagedAddons": { - "type": "boolean" - }, "CertificateAuthorityData": { "type": "string" }, @@ -355,7 +351,6 @@ }, "typeName": "AWS::EKS::Cluster", "writeOnlyProperties": [ - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/BootstrapSelfManagedAddons" + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" ] } 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 9d415c16b0..c2d5ef6996 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -805,6 +805,7 @@ "aws-shield-proactiveengagement.json", "aws-apigateway-basepathmapping.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-memorydb-cluster.json", @@ -856,7 +857,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-autoscaling-autoscalinggroup.json", @@ -947,6 +947,7 @@ "aws-sso-permissionset.json", "aws-glue-job.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", + "aws-route53-hostedzone.json", "aws-eks-podidentityassociation.json", "aws-resourceexplorer2-index.json", "aws-glue-table.json", @@ -975,6 +976,7 @@ "aws-apigateway-apikey.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1083,7 +1085,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1159,6 +1160,7 @@ "aws-iam-grouppolicy.json", "aws-scheduler-schedule.json", "aws-waf-bytematchset.json", + "aws-emrserverless-application.json", "aws-ec2-host.json", "aws-lambda-codesigningconfig.json", "aws-systemsmanagersap-application.json", @@ -1176,6 +1178,7 @@ "aws-glue-trigger.json", "aws-globalaccelerator-listener.json", "aws-verifiedpermissions-policystore.json", + "aws-signer-signingprofile.json", "aws-ec2-vpcpeeringconnection.json", "aws-sns-topicpolicy.json", "aws-mwaa-environment.json", @@ -1455,7 +1458,6 @@ "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", @@ -1471,6 +1473,7 @@ "aws-cloudformation-stack.json", "aws-resourcegroups-group.json", "aws-cloudformation-resourcedefaultversion.json", + "aws-signer-profilepermission.json", "aws-backup-restoretestingplan.json", "aws-ec2-ipam.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json similarity index 93% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainname.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json index 8e795268ca..1eb496645f 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainname.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json @@ -119,12 +119,5 @@ "/properties/DistributionHostedZoneId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, "typeName": "AWS::ApiGateway::DomainName" } diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-eks-cluster.json similarity index 97% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-eks-cluster.json index d2d12d1fbe..f90589ca3b 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-eks-cluster.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-eks-cluster.json @@ -6,8 +6,7 @@ "/properties/KubernetesNetworkConfig", "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/Name", - "/properties/RoleArn", - "/properties/BootstrapSelfManagedAddons" + "/properties/RoleArn" ], "definitions": { "AccessConfig": { @@ -268,9 +267,6 @@ "Arn": { "type": "string" }, - "BootstrapSelfManagedAddons": { - "type": "boolean" - }, "CertificateAuthorityData": { "type": "string" }, @@ -355,7 +351,6 @@ }, "typeName": "AWS::EKS::Cluster", "writeOnlyProperties": [ - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/BootstrapSelfManagedAddons" + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" ] } diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-emrserverless-application.json deleted file mode 100644 index 1bea9dcdc3..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-emrserverless-application.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt", - "emr-serverless:CreateApplication", - "emr-serverless:TagResource", - "emr-serverless:GetApplication", - "iam:CreateServiceLinkedRole", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer" - ] - }, - "delete": { - "permissions": [ - "emr-serverless:DeleteApplication", - "emr-serverless:GetApplication" - ] - }, - "list": { - "permissions": [ - "emr-serverless:ListApplications" - ] - }, - "read": { - "permissions": [ - "emr-serverless:GetApplication" - ] - }, - "update": { - "permissions": [ - "emr-serverless:UpdateApplication", - "emr-serverless:TagResource", - "emr-serverless:UntagResource", - "emr-serverless:GetApplication", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer", - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-route53-hostedzone.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-route53-hostedzone.json deleted file mode 100644 index 7386006f1a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-route53-hostedzone.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" - }, - "HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::Logs::LogGroup" - }, - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "format": "AWS::EC2::VPC.Id", - "relationshipRef": { - "propertyPath": "/properties/VpcId", - "typeName": "AWS::EC2::VPC" - }, - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "route53:CreateHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:ChangeTagsForResource", - "route53:GetChange", - "route53:AssociateVPCWithHostedZone", - "ec2:DescribeVpcs" - ] - }, - "delete": { - "permissions": [ - "route53:DeleteHostedZone", - "route53:DeleteQueryLoggingConfig", - "route53:ListQueryLoggingConfigs", - "route53:GetChange" - ] - }, - "list": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListHostedZones", - "route53:ListHostedZonesByName", - "route53:ListQueryLoggingConfigs", - "route53:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListTagsForResource", - "route53:ListQueryLoggingConfigs" - ] - }, - "update": { - "permissions": [ - "route53:GetChange", - "route53:ListTagsForResource", - "route53:UpdateHostedZoneComment", - "route53:ChangeTagsForResource", - "route53:AssociateVPCWithHostedZone", - "route53:DisassociateVPCFromHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:DeleteQueryLoggingConfig", - "ec2:DescribeVpcs" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/HostedZoneConfig" - }, - "HostedZoneTags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostedZoneTag" - }, - "type": "array", - "uniqueItems": true - }, - "Id": { - "type": "string" - }, - "Name": { - "maxLength": 1024, - "type": "string" - }, - "NameServers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/QueryLoggingConfig" - }, - "VPCs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VPC" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/Name": "$join([Name, \".\"])" - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/NameServers" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git", - "typeName": "AWS::Route53::HostedZone" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-signer-profilepermission.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-signer-profilepermission.json deleted file mode 100644 index 0f8d81fad7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-signer-profilepermission.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ProfileName", - "/properties/Action", - "/properties/Principal", - "/properties/StatementId", - "/properties/ProfileVersion" - ], - "handlers": { - "create": { - "permissions": [ - "signer:AddProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "delete": { - "permissions": [ - "signer:RemoveProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "ProfileName": { - "$ref": "resource-schema.json#/properties/ProfileName" - }, - "StatementId": { - "$ref": "resource-schema.json#/properties/StatementId" - } - } - }, - "permissions": [ - "signer:ListProfilePermissions", - "signer:GetSigningProfile" - ] - }, - "read": { - "permissions": [ - "signer:ListProfilePermissions" - ] - } - }, - "primaryIdentifier": [ - "/properties/StatementId", - "/properties/ProfileName" - ], - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "ProfileName", - "Action", - "Principal", - "StatementId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::ProfilePermission" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-signer-signingprofile.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-signer-signingprofile.json deleted file mode 100644 index 8cfdc438f6..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-signer-signingprofile.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ProfileName" - ], - [ - "/properties/ProfileVersionArn" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PlatformId", - "/properties/SignatureValidityPeriod" - ], - "definitions": { - "Arn": { - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "PlatformId": { - "enum": [ - "AWSLambda-SHA384-ECDSA", - "Notation-OCI-SHA384-ECDSA" - ], - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "DAYS", - "MONTHS", - "YEARS" - ], - "type": "string" - }, - "Value": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 127, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "signer:PutSigningProfile", - "signer:TagResource" - ] - }, - "delete": { - "permissions": [ - "signer:CancelSigningProfile", - "signer:GetSigningProfile" - ] - }, - "list": { - "permissions": [ - "signer:ListSigningProfiles" - ] - }, - "read": { - "permissions": [ - "signer:GetSigningProfile" - ] - }, - "update": { - "permissions": [ - "signer:TagResource", - "signer:UntagResource", - "signer:GetSigningProfile" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "PlatformId": { - "$ref": "#/definitions/PlatformId" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "$ref": "#/definitions/ProfileVersion" - }, - "ProfileVersionArn": { - "$ref": "#/definitions/Arn" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ProfileName", - "/properties/ProfileVersion", - "/properties/Arn", - "/properties/ProfileVersionArn" - ], - "required": [ - "PlatformId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::SigningProfile" -} 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 90ba78dcb2..b09e081e19 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -1651,7 +1651,6 @@ "aws-connect-predefinedattribute.json", "aws-iam-policy.json", "aws-databrew-schedule.json", - "aws-bedrock-agent.json", "aws-apprunner-service.json", "aws-connect-approvedorigin.json", "aws-ses-contactlist.json", @@ -1920,6 +1919,7 @@ "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", "aws-customerprofiles-eventstream.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-lightsail-certificate.json", @@ -2350,7 +2350,6 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", - "aws-elasticbeanstalk-environment.json", "aws-proton-servicetemplate.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..7da6126110 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-bedrock-agent.json @@ -0,0 +1,612 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "bedrock:CreateAgent", + "bedrock:GetAgent", + "bedrock:PrepareAgent", + "bedrock:GetAgentKnowledgeBase", + "bedrock:AssociateAgentKnowledgeBase", + "bedrock:ListAgentKnowledgeBases", + "bedrock:CreateAgentActionGroup", + "bedrock:GetAgentActionGroup", + "bedrock:ListAgentActionGroups", + "bedrock:TagResource", + "bedrock:ListTagsForResource", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "bedrock:GetAgent", + "bedrock:DeleteAgent", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" + ] + }, + "list": { + "permissions": [ + "bedrock:ListAgents", + "bedrock:ListGuardrails" + ] + }, + "read": { + "permissions": [ + "bedrock:GetAgent", + "bedrock:GetAgentActionGroup", + "bedrock:ListAgentActionGroups", + "bedrock:GetAgentKnowledgeBase", + "bedrock:ListAgentKnowledgeBases", + "bedrock:ListTagsForResource", + "bedrock:GetGuardrail", + "kms:Decrypt" + ] + }, + "update": { + "permissions": [ + "bedrock:GetAgent", + "bedrock:UpdateAgent", + "bedrock:PrepareAgent", + "bedrock:GetAgentKnowledgeBase", + "bedrock:UpdateAgentKnowledgeBase", + "bedrock:AssociateAgentKnowledgeBase", + "bedrock:DisassociateAgentKnowledgeBase", + "bedrock:ListAgentKnowledgeBases", + "bedrock:CreateAgentActionGroup", + "bedrock:GetAgentActionGroup", + "bedrock:UpdateAgentActionGroup", + "bedrock:DeleteAgentActionGroup", + "bedrock:ListAgentActionGroups", + "bedrock:TagResource", + "bedrock:UntagResource", + "bedrock:ListTagsForResource", + "bedrock:UpdateGuardrail", + "bedrock:GetGuardrail", + "kms:Decrypt", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-elasticbeanstalk-environment.json new file mode 100644 index 0000000000..dd50c329e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-elasticbeanstalk-environment.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CNAMEPrefix", + "/properties/EnvironmentName", + "/properties/ApplicationName", + "/properties/SolutionStackName", + "/properties/Tier/Name", + "/properties/Tier/Type" + ], + "definitions": { + "OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 120 + }, + "delete": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:TerminateEnvironment" + ], + "timeoutInMinutes": 210 + }, + "list": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:DescribeConfigurationSettings", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:UpdateEnvironment", + "elasticbeanstalk:UpdateTagsForResource", + "elasticbeanstalk:AssociateEnvironmentOperationsRole", + "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 300 + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentName" + ], + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EndpointURL": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OptionSetting" + }, + "type": "array", + "uniqueItems": false + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/EndpointURL" + ], + "required": [ + "ApplicationName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ElasticBeanstalk::Environment", + "writeOnlyProperties": [ + "/properties/TemplateName", + "/properties/OptionSettings", + "/properties/OptionSettings/*/OptionName", + "/properties/OptionSettings/*/ResourceName", + "/properties/OptionSettings/*/Namespace", + "/properties/OptionSettings/*/Value" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json deleted file mode 100644 index 62a3797fcd..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,500 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py index bf03129371..63ef3ba7c1 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -1126,6 +1126,7 @@ "aws-apigateway-basepathmapping.json", "aws-wafregional-geomatchset.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-servicecatalog-portfolioprincipalassociation.json", "aws-ram-resourceshare.json", @@ -1203,7 +1204,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1240,6 +1240,7 @@ "aws-mediaconvert-queue.json", "aws-sagemaker-coderepository.json", "aws-imagebuilder-component.json", + "aws-ses-configurationseteventdestination.json", "aws-mediapackage-packagingconfiguration.json", "aws-mediaconnect-flowentitlement.json", "aws-glue-connection.json", @@ -1321,6 +1322,7 @@ "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", + "aws-cognito-userpoolresourceserver.json", "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-ce-costcategory.json", @@ -1329,6 +1331,7 @@ "aws-sso-permissionset.json", "aws-glue-job.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", + "aws-route53-hostedzone.json", "aws-connect-view.json", "aws-eks-podidentityassociation.json", "aws-resourceexplorer2-index.json", @@ -1372,6 +1375,7 @@ "aws-networkmanager-transitgatewayroutetableattachment.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1533,7 +1537,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -1647,6 +1650,7 @@ "aws-scheduler-schedule.json", "aws-waf-bytematchset.json", "aws-amplifyuibuilder-theme.json", + "aws-emrserverless-application.json", "aws-ec2-host.json", "aws-forecast-datasetgroup.json", "aws-appstream-user.json", @@ -1670,6 +1674,7 @@ "aws-glue-trigger.json", "aws-globalaccelerator-listener.json", "aws-verifiedpermissions-policystore.json", + "aws-signer-signingprofile.json", "aws-ec2-vpcpeeringconnection.json", "aws-sns-topicpolicy.json", "aws-mwaa-environment.json", @@ -2071,7 +2076,6 @@ "aws-rds-dbsecuritygroup.json", "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", @@ -2089,6 +2093,7 @@ "aws-resourcegroups-group.json", "aws-cloudformation-resourcedefaultversion.json", "aws-ssm-resourcedatasync.json", + "aws-signer-profilepermission.json", "aws-backup-restoretestingplan.json", "aws-docdb-dbclusterparametergroup.json", "aws-s3-multiregionaccesspoint.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json similarity index 93% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-apigateway-domainname.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json index 8e795268ca..1eb496645f 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-apigateway-domainname.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json @@ -119,12 +119,5 @@ "/properties/DistributionHostedZoneId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, "typeName": "AWS::ApiGateway::DomainName" } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cognito-userpoolresourceserver.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cognito-userpoolresourceserver.json deleted file mode 100644 index d1a816f497..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cognito-userpoolresourceserver.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Identifier", - "/properties/UserPoolId" - ], - "definitions": { - "ResourceServerScopeType": { - "additionalProperties": false, - "properties": { - "ScopeDescription": { - "type": "string" - }, - "ScopeName": { - "type": "string" - } - }, - "required": [ - "ScopeName", - "ScopeDescription" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "Identifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/ResourceServerScopeType" - }, - "type": "array", - "uniqueItems": false - }, - "UserPoolId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "UserPoolId", - "Identifier", - "Name" - ], - "typeName": "AWS::Cognito::UserPoolResourceServer" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-eks-cluster.json similarity index 97% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-eks-cluster.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-eks-cluster.json index d2d12d1fbe..f90589ca3b 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-eks-cluster.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-eks-cluster.json @@ -6,8 +6,7 @@ "/properties/KubernetesNetworkConfig", "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/Name", - "/properties/RoleArn", - "/properties/BootstrapSelfManagedAddons" + "/properties/RoleArn" ], "definitions": { "AccessConfig": { @@ -268,9 +267,6 @@ "Arn": { "type": "string" }, - "BootstrapSelfManagedAddons": { - "type": "boolean" - }, "CertificateAuthorityData": { "type": "string" }, @@ -355,7 +351,6 @@ }, "typeName": "AWS::EKS::Cluster", "writeOnlyProperties": [ - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/BootstrapSelfManagedAddons" + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" ] } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json deleted file mode 100644 index 1bea9dcdc3..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt", - "emr-serverless:CreateApplication", - "emr-serverless:TagResource", - "emr-serverless:GetApplication", - "iam:CreateServiceLinkedRole", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer" - ] - }, - "delete": { - "permissions": [ - "emr-serverless:DeleteApplication", - "emr-serverless:GetApplication" - ] - }, - "list": { - "permissions": [ - "emr-serverless:ListApplications" - ] - }, - "read": { - "permissions": [ - "emr-serverless:GetApplication" - ] - }, - "update": { - "permissions": [ - "emr-serverless:UpdateApplication", - "emr-serverless:TagResource", - "emr-serverless:UntagResource", - "emr-serverless:GetApplication", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer", - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-route53-hostedzone.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-route53-hostedzone.json deleted file mode 100644 index 7386006f1a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-route53-hostedzone.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" - }, - "HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::Logs::LogGroup" - }, - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "format": "AWS::EC2::VPC.Id", - "relationshipRef": { - "propertyPath": "/properties/VpcId", - "typeName": "AWS::EC2::VPC" - }, - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "route53:CreateHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:ChangeTagsForResource", - "route53:GetChange", - "route53:AssociateVPCWithHostedZone", - "ec2:DescribeVpcs" - ] - }, - "delete": { - "permissions": [ - "route53:DeleteHostedZone", - "route53:DeleteQueryLoggingConfig", - "route53:ListQueryLoggingConfigs", - "route53:GetChange" - ] - }, - "list": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListHostedZones", - "route53:ListHostedZonesByName", - "route53:ListQueryLoggingConfigs", - "route53:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListTagsForResource", - "route53:ListQueryLoggingConfigs" - ] - }, - "update": { - "permissions": [ - "route53:GetChange", - "route53:ListTagsForResource", - "route53:UpdateHostedZoneComment", - "route53:ChangeTagsForResource", - "route53:AssociateVPCWithHostedZone", - "route53:DisassociateVPCFromHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:DeleteQueryLoggingConfig", - "ec2:DescribeVpcs" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/HostedZoneConfig" - }, - "HostedZoneTags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostedZoneTag" - }, - "type": "array", - "uniqueItems": true - }, - "Id": { - "type": "string" - }, - "Name": { - "maxLength": 1024, - "type": "string" - }, - "NameServers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/QueryLoggingConfig" - }, - "VPCs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VPC" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/Name": "$join([Name, \".\"])" - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/NameServers" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git", - "typeName": "AWS::Route53::HostedZone" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationseteventdestination.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationseteventdestination.json deleted file mode 100644 index 2346a687ae..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationseteventdestination.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfigurationSetName" - ], - "definitions": { - "CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DimensionConfiguration" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "type": "string" - }, - "DimensionName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_:-]{1,256}$", - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DimensionValueSource", - "DefaultDimensionValue", - "DimensionName" - ], - "type": "object" - }, - "EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{0,64}$", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "type": "object" - }, - "SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "maxLength": 1024, - "minLength": 36, - "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$", - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSetEventDestination" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:UpdateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/EventDestination" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSetEventDestination" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-signer-profilepermission.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-signer-profilepermission.json deleted file mode 100644 index 0f8d81fad7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-signer-profilepermission.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ProfileName", - "/properties/Action", - "/properties/Principal", - "/properties/StatementId", - "/properties/ProfileVersion" - ], - "handlers": { - "create": { - "permissions": [ - "signer:AddProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "delete": { - "permissions": [ - "signer:RemoveProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "ProfileName": { - "$ref": "resource-schema.json#/properties/ProfileName" - }, - "StatementId": { - "$ref": "resource-schema.json#/properties/StatementId" - } - } - }, - "permissions": [ - "signer:ListProfilePermissions", - "signer:GetSigningProfile" - ] - }, - "read": { - "permissions": [ - "signer:ListProfilePermissions" - ] - } - }, - "primaryIdentifier": [ - "/properties/StatementId", - "/properties/ProfileName" - ], - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "ProfileName", - "Action", - "Principal", - "StatementId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::ProfilePermission" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-signer-signingprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-signer-signingprofile.json deleted file mode 100644 index 8cfdc438f6..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-signer-signingprofile.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ProfileName" - ], - [ - "/properties/ProfileVersionArn" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PlatformId", - "/properties/SignatureValidityPeriod" - ], - "definitions": { - "Arn": { - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "PlatformId": { - "enum": [ - "AWSLambda-SHA384-ECDSA", - "Notation-OCI-SHA384-ECDSA" - ], - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "DAYS", - "MONTHS", - "YEARS" - ], - "type": "string" - }, - "Value": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 127, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "signer:PutSigningProfile", - "signer:TagResource" - ] - }, - "delete": { - "permissions": [ - "signer:CancelSigningProfile", - "signer:GetSigningProfile" - ] - }, - "list": { - "permissions": [ - "signer:ListSigningProfiles" - ] - }, - "read": { - "permissions": [ - "signer:GetSigningProfile" - ] - }, - "update": { - "permissions": [ - "signer:TagResource", - "signer:UntagResource", - "signer:GetSigningProfile" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "PlatformId": { - "$ref": "#/definitions/PlatformId" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "$ref": "#/definitions/ProfileVersion" - }, - "ProfileVersionArn": { - "$ref": "#/definitions/Arn" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ProfileName", - "/properties/ProfileVersion", - "/properties/Arn", - "/properties/ProfileVersionArn" - ], - "required": [ - "PlatformId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::SigningProfile" -} 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 1ef7094cf3..bd0f58213d 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -1060,7 +1060,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1418,7 +1417,6 @@ "aws-rds-dbsecuritygroup.json", "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} 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 d1c51da324..b335b48b8f 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -1210,7 +1210,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1542,7 +1541,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -2082,7 +2080,6 @@ "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", "aws-quicksight-topic.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} 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 f2e3f75f01..34d23fde22 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -616,6 +616,7 @@ "aws-ec2-transitgatewayroutetablepropagation.json", "aws-shield-proactiveengagement.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dms-replicationconfig.json", @@ -737,6 +738,7 @@ "aws-elasticache-serverlesscache.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-autoscaling-launchconfiguration.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", @@ -810,7 +812,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1078,7 +1079,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} 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 ed388d05f9..049065412b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -1369,6 +1369,7 @@ "aws-elasticloadbalancingv2-listenercertificate.json", "aws-cloudformation-moduleversion.json", "aws-cloud9-environmentec2.json", + "aws-location-placeindex.json", "aws-route53resolver-resolverruleassociation.json", "aws-fsx-storagevirtualmachine.json", "aws-greengrass-connectordefinitionversion.json", @@ -1591,6 +1592,7 @@ "aws-sagemaker-imageversion.json", "aws-apigatewayv2-api.json", "aws-detective-graph.json", + "aws-location-routecalculator.json", "aws-servicecatalog-portfolioshare.json", "aws-apigateway-vpclink.json", "aws-connect-integrationassociation.json", @@ -1878,6 +1880,7 @@ "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", "aws-customerprofiles-eventstream.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-lightsail-certificate.json", @@ -1892,6 +1895,7 @@ "aws-frauddetector-eventtype.json", "aws-sagemaker-endpoint.json", "aws-elasticloadbalancingv2-truststorerevocation.json", + "aws-networkfirewall-firewall.json", "aws-eventschemas-schema.json", "aws-entityresolution-matchingworkflow.json", "aws-m2-application.json", @@ -2244,6 +2248,7 @@ "aws-ce-anomalymonitor.json", "aws-servicecatalogappregistry-resourceassociation.json", "aws-ec2-vpngateway.json", + "aws-location-apikey.json", "aws-cloudformation-stack.json", "aws-resourcegroups-group.json", "aws-cloudformation-resourcedefaultversion.json", @@ -2292,7 +2297,6 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", - "aws-elasticbeanstalk-environment.json", "aws-proton-servicetemplate.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticbeanstalk-environment.json new file mode 100644 index 0000000000..dd50c329e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticbeanstalk-environment.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CNAMEPrefix", + "/properties/EnvironmentName", + "/properties/ApplicationName", + "/properties/SolutionStackName", + "/properties/Tier/Name", + "/properties/Tier/Type" + ], + "definitions": { + "OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 120 + }, + "delete": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:TerminateEnvironment" + ], + "timeoutInMinutes": 210 + }, + "list": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:DescribeConfigurationSettings", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:UpdateEnvironment", + "elasticbeanstalk:UpdateTagsForResource", + "elasticbeanstalk:AssociateEnvironmentOperationsRole", + "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 300 + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentName" + ], + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EndpointURL": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OptionSetting" + }, + "type": "array", + "uniqueItems": false + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/EndpointURL" + ], + "required": [ + "ApplicationName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ElasticBeanstalk::Environment", + "writeOnlyProperties": [ + "/properties/TemplateName", + "/properties/OptionSettings", + "/properties/OptionSettings/*/OptionName", + "/properties/OptionSettings/*/ResourceName", + "/properties/OptionSettings/*/Namespace", + "/properties/OptionSettings/*/Value" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-apikey.json deleted file mode 100644 index 78d06db8a5..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-apikey.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyName" - ], - "definitions": { - "ApiKeyRestrictions": { - "additionalProperties": false, - "properties": { - "AllowActions": { - "insertionOrder": false, - "items": { - "maxLength": 200, - "minLength": 5, - "pattern": "^geo:\\w*\\*?$", - "type": "string" - }, - "maxItems": 7, - "minItems": 1, - "type": "array" - }, - "AllowReferers": { - "insertionOrder": false, - "items": { - "maxLength": 253, - "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array" - }, - "AllowResources": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "AllowActions", - "AllowResources" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateKey", - "geo:DescribeKey", - "geo:TagResource", - "geo:UntagResource", - "geo:GetMapTile", - "geo:GetMapStyleDescriptor", - "geo:GetMapSprites", - "geo:GetMapGlyphs", - "geo:SearchPlaceIndexForText", - "geo:SearchPlaceIndexForPosition", - "geo:SearchPlaceIndexForSuggestions", - "geo:GetPlace", - "geo:CalculateRoute", - "geo:CalculateRouteMatrix" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteKey", - "geo:DescribeKey" - ] - }, - "list": { - "permissions": [ - "geo:ListKeys" - ] - }, - "read": { - "permissions": [ - "geo:DescribeKey" - ] - }, - "update": { - "permissions": [ - "geo:CreateKey", - "geo:DescribeKey", - "geo:TagResource", - "geo:UntagResource", - "geo:GetMapTile", - "geo:GetMapStyleDescriptor", - "geo:GetMapSprites", - "geo:GetMapGlyphs", - "geo:SearchPlaceIndexForText", - "geo:SearchPlaceIndexForPosition", - "geo:SearchPlaceIndexForSuggestions", - "geo:GetPlace", - "geo:CalculateRoute", - "geo:CalculateRouteMatrix", - "geo:UpdateKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/KeyName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "ExpireTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "ForceDelete": { - "type": "boolean" - }, - "ForceUpdate": { - "type": "boolean" - }, - "KeyArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "KeyName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "NoExpiry": { - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/ApiKeyRestrictions" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/KeyArn", - "/properties/UpdateTime" - ], - "required": [ - "KeyName", - "Restrictions" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::APIKey", - "writeOnlyProperties": [ - "/properties/ForceUpdate", - "/properties/ForceDelete", - "/properties/NoExpiry" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-placeindex.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-placeindex.json deleted file mode 100644 index d538ec3c9e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-placeindex.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DataSource", - "/properties/IndexName" - ], - "definitions": { - "DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "IntendedUse": { - "$ref": "#/definitions/IntendedUse" - } - }, - "type": "object" - }, - "IntendedUse": { - "enum": [ - "SingleUse", - "Storage" - ], - "type": "string" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreatePlaceIndex", - "geo:DescribePlaceIndex", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeletePlaceIndex", - "geo:DescribePlaceIndex" - ] - }, - "list": { - "permissions": [ - "geo:ListPlaceIndexes" - ] - }, - "read": { - "permissions": [ - "geo:DescribePlaceIndex" - ] - }, - "update": { - "permissions": [ - "geo:CreatePlaceIndex", - "geo:DescribePlaceIndex", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdatePlaceIndex" - ] - } - }, - "primaryIdentifier": [ - "/properties/IndexName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "DataSource": { - "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/DataSourceConfiguration" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "IndexArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "IndexName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/IndexArn", - "/properties/UpdateTime" - ], - "required": [ - "DataSource", - "IndexName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::PlaceIndex" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-routecalculator.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-routecalculator.json deleted file mode 100644 index 3cd1e99e3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-location-routecalculator.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CalculatorName", - "/properties/DataSource" - ], - "definitions": { - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateRouteCalculator", - "geo:DescribeRouteCalculator", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteRouteCalculator", - "geo:DescribeRouteCalculator" - ] - }, - "list": { - "permissions": [ - "geo:ListRouteCalculators" - ] - }, - "read": { - "permissions": [ - "geo:DescribeRouteCalculator" - ] - }, - "update": { - "permissions": [ - "geo:CreateRouteCalculator", - "geo:DescribeRouteCalculator", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdateRouteCalculator" - ] - } - }, - "primaryIdentifier": [ - "/properties/CalculatorName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CalculatorArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "CalculatorName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "DataSource": { - "type": "string" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CalculatorArn", - "/properties/Arn", - "/properties/CreateTime", - "/properties/UpdateTime" - ], - "required": [ - "DataSource", - "CalculatorName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::RouteCalculator" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json deleted file mode 100644 index 62a3797fcd..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,500 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index 049e9a21fb..dd8f8a6083 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -1305,7 +1305,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1671,7 +1670,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -2266,7 +2264,6 @@ "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", "aws-quicksight-topic.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} 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 a2bd4c6ae9..998b899810 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -639,6 +639,7 @@ "aws-ec2-transitgatewayroutetablepropagation.json", "aws-shield-proactiveengagement.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dms-replicationconfig.json", @@ -696,6 +697,7 @@ "aws-pcaconnectorad-directoryregistration.json", "aws-sagemaker-coderepository.json", "aws-imagebuilder-component.json", + "aws-ses-configurationseteventdestination.json", "aws-iotwireless-multicastgroup.json", "aws-appmesh-route.json", "aws-iam-group.json", @@ -774,6 +776,7 @@ "aws-appmesh-gatewayroute.json", "aws-networkmanager-transitgatewayroutetableattachment.json", "aws-autoscaling-launchconfiguration.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", @@ -851,7 +854,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", "aws-logs-querydefinition.json", @@ -1133,7 +1135,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationseteventdestination.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationseteventdestination.json deleted file mode 100644 index 2346a687ae..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationseteventdestination.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfigurationSetName" - ], - "definitions": { - "CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DimensionConfiguration" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "type": "string" - }, - "DimensionName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_:-]{1,256}$", - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DimensionValueSource", - "DefaultDimensionValue", - "DimensionName" - ], - "type": "object" - }, - "EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{0,64}$", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "type": "object" - }, - "SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "maxLength": 1024, - "minLength": 36, - "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$", - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSetEventDestination" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:UpdateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/EventDestination" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSetEventDestination" -} 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 089707d421..e3f5ba21a4 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -774,7 +774,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", "aws-logs-querydefinition.json", @@ -1025,7 +1024,6 @@ "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", "aws-mediapackage-channel.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} 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 88a2387eeb..dc0f3c61e1 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -42,6 +42,7 @@ "AWS::CloudFront::ContinuousDeploymentPolicy", "AWS::QuickSight::Analysis", "AWS::Kendra::Faq", + "AWS::Bedrock::GuardrailVersion", "AWS::ECR::ReplicationConfiguration", "AWS::AppConfig::ExtensionAssociation", "AWS::VpcLattice::Service", @@ -550,6 +551,7 @@ "AWS::AppStream::User", "AWS::Lambda::CodeSigningConfig", "AWS::Comprehend::Flywheel", + "AWS::Bedrock::Guardrail", "AWS::SystemsManagerSAP::Application", "AWS::DMS::ReplicationTask", "AWS::Panorama::ApplicationInstance", @@ -1093,6 +1095,7 @@ "aws-shield-proactiveengagement.json", "aws-apigateway-basepathmapping.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-servicecatalog-portfolioprincipalassociation.json", "aws-ram-resourceshare.json", @@ -1114,6 +1117,7 @@ "aws-cloudfront-continuousdeploymentpolicy.json", "aws-quicksight-analysis.json", "aws-kendra-faq.json", + "aws-bedrock-guardrailversion.json", "aws-ecr-replicationconfiguration.json", "aws-appconfig-extensionassociation.json", "aws-vpclattice-service.json", @@ -1168,7 +1172,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1332,6 +1335,7 @@ "aws-networkmanager-transitgatewayroutetableattachment.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1547,6 +1551,7 @@ "aws-securitylake-awslogsource.json", "aws-appsync-apikey.json", "aws-cloudformation-typeactivation.json", + "aws-location-map.json", "aws-acmpca-certificateauthorityactivation.json", "aws-msk-serverlesscluster.json", "aws-guardduty-threatintelset.json", @@ -1604,6 +1609,7 @@ "aws-ec2-host.json", "aws-lambda-codesigningconfig.json", "aws-comprehend-flywheel.json", + "aws-bedrock-guardrail.json", "aws-systemsmanagersap-application.json", "aws-dms-replicationtask.json", "aws-panorama-applicationinstance.json", @@ -1711,6 +1717,7 @@ "aws-iot-domainconfiguration.json", "aws-sagemaker-endpoint.json", "aws-elasticloadbalancingv2-truststorerevocation.json", + "aws-networkfirewall-firewall.json", "aws-eventschemas-schema.json", "aws-m2-application.json", "aws-ses-template.json", @@ -2011,7 +2018,6 @@ "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", "aws-quicksight-topic.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-map.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-map.json deleted file mode 100644 index d96fddd0f5..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-map.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Configuration", - "/properties/MapName" - ], - "definitions": { - "MapConfiguration": { - "additionalProperties": false, - "properties": { - "CustomLayers": { - "items": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "maxItems": 10, - "type": "array" - }, - "PoliticalView": { - "maxLength": 3, - "minLength": 3, - "pattern": "^[A-Z]{3}$", - "type": "string" - }, - "Style": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateMap", - "geo:DescribeMap", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteMap", - "geo:DescribeMap" - ] - }, - "list": { - "permissions": [ - "geo:ListMaps" - ] - }, - "read": { - "permissions": [ - "geo:DescribeMap" - ] - }, - "update": { - "permissions": [ - "geo:CreateMap", - "geo:DescribeMap", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdateMap" - ] - } - }, - "primaryIdentifier": [ - "/properties/MapName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/MapConfiguration" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "MapArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "MapName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/MapArn", - "/properties/UpdateTime" - ], - "required": [ - "Configuration", - "MapName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::Map" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index 719cabbe76..4e3f38b5ef 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -296,6 +296,7 @@ "AWS::IAM::User", "AWS::EMR::InstanceGroupConfig", "AWS::StepFunctions::Activity", + "AWS::Logs::AccountPolicy", "AWS::S3::BucketPolicy", "AWS::Redshift::Cluster", "AWS::EMR::InstanceFleetConfig", @@ -510,6 +511,7 @@ "aws-glue-partition.json", "aws-ec2-transitgatewayroutetablepropagation.json", "aws-shield-proactiveengagement.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dms-replicationconfig.json", @@ -602,6 +604,7 @@ "aws-ssm-document.json", "aws-elasticache-serverlesscache.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", "aws-ec2-transitgatewayroutetableassociation.json", @@ -659,7 +662,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", "aws-securityhub-productsubscription.json", @@ -742,6 +744,7 @@ "aws-shield-protectiongroup.json", "aws-emr-instancegroupconfig.json", "aws-stepfunctions-activity.json", + "aws-logs-accountpolicy.json", "aws-s3-bucketpolicy.json", "aws-redshift-cluster.json", "aws-emr-instancefleetconfig.json", @@ -826,6 +829,7 @@ "aws-athena-datacatalog.json", "aws-glue-workflow.json", "aws-ec2-prefixlist.json", + "aws-ec2-instance.json", "aws-waf-sqlinjectionmatchset.json", "aws-ec2-transitgatewayvpcattachment.json", "aws-ec2-flowlog.json", @@ -864,7 +868,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", "aws-config-deliverychannel.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-instance.json deleted file mode 100644 index a2d88d7128..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-instance.json +++ /dev/null @@ -1,566 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ElasticGpuSpecifications", - "/properties/Ipv6Addresses", - "/properties/PlacementGroupName", - "/properties/HostResourceGroupArn", - "/properties/ImageId", - "/properties/CpuOptions", - "/properties/PrivateIpAddress", - "/properties/ElasticInferenceAccelerators", - "/properties/EnclaveOptions", - "/properties/HibernationOptions", - "/properties/KeyName", - "/properties/LicenseSpecifications", - "/properties/NetworkInterfaces", - "/properties/AvailabilityZone", - "/properties/SubnetId", - "/properties/LaunchTemplate", - "/properties/SecurityGroups", - "/properties/Ipv6AddressCount" - ], - "definitions": { - "AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/Ebs" - }, - "NoDevice": { - "$ref": "#/definitions/NoDevice" - }, - "VirtualName": { - "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "requiredXor": [ - "VirtualName", - "Ebs", - "NoDevice" - ], - "type": "object" - }, - "CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "integer" - }, - "ThreadsPerCore": { - "type": "integer" - } - }, - "type": "object" - }, - "CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "type": "string" - } - }, - "type": "object" - }, - "Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "integer" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociateCarrierIpAddress": { - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "NoDevice": { - "additionalProperties": false, - "type": "object" - }, - "PrivateDnsNameOptions": { - "additionalProperties": false, - "properties": { - "EnableResourceNameDnsAAAARecord": { - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "type": "boolean" - }, - "HostnameType": { - "type": "string" - } - }, - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AssociationParameter" - }, - "type": "array", - "uniqueItems": false - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "VolumeId", - "Device" - ], - "type": "object" - } - }, - "dependentExcluded": { - "NetworkInterfaces": [ - "SubnetId" - ], - "SubnetId": [ - "NetworkInterfaces" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "enum": [ - "default", - "host" - ], - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/BlockDeviceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "CpuOptions": { - "$ref": "#/definitions/CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/ElasticGpuSpecification" - }, - "type": "array", - "uniqueItems": true - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/ElasticInferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "EnclaveOptions": { - "$ref": "#/definitions/EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": false - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/LicenseSpecification" - }, - "type": "array", - "uniqueItems": true - }, - "Monitoring": { - "type": "boolean" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array", - "uniqueItems": false - }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateDnsName": { - "type": "string" - }, - "PrivateDnsNameOptions": { - "$ref": "#/definitions/PrivateDnsNameOptions" - }, - "PrivateIp": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PropagateTagsToVolumeOnCreation": { - "type": "boolean" - }, - "PublicDnsName": { - "type": "string" - }, - "PublicIp": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/SsmAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Tenancy": { - "enum": [ - "dedicated", - "default", - "host" - ], - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/PublicIp", - "/properties/Id", - "/properties/PublicDnsName", - "/properties/PrivateDnsName", - "/properties/PrivateIp" - ], - "requiredXor": [ - "ImageId", - "LaunchTemplate" - ], - "typeName": "AWS::EC2::Instance" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} 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 59c9b4a540..447d3c55a6 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -743,6 +743,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-autoscaling-autoscalinggroup.json", "aws-wafv2-regexpatternset.json", @@ -812,7 +813,6 @@ "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", - "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-ce-costcategory.json", "aws-sso-permissionset.json", @@ -940,6 +940,7 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", + "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1293,7 +1294,6 @@ "aws-ec2-vpcendpointservice.json", "aws-iam-managedpolicy.json", "aws-ec2-launchtemplate.json", - "aws-elasticbeanstalk-environment.json", "aws-wafregional-sqlinjectionmatchset.json", "aws-lambda-version.json", "aws-ec2-dhcpoptions.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-elasticbeanstalk-environment.json new file mode 100644 index 0000000000..dd50c329e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-elasticbeanstalk-environment.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CNAMEPrefix", + "/properties/EnvironmentName", + "/properties/ApplicationName", + "/properties/SolutionStackName", + "/properties/Tier/Name", + "/properties/Tier/Type" + ], + "definitions": { + "OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 120 + }, + "delete": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:TerminateEnvironment" + ], + "timeoutInMinutes": 210 + }, + "list": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:DescribeConfigurationSettings", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:UpdateEnvironment", + "elasticbeanstalk:UpdateTagsForResource", + "elasticbeanstalk:AssociateEnvironmentOperationsRole", + "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 300 + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentName" + ], + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EndpointURL": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OptionSetting" + }, + "type": "array", + "uniqueItems": false + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/EndpointURL" + ], + "required": [ + "ApplicationName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ElasticBeanstalk::Environment", + "writeOnlyProperties": [ + "/properties/TemplateName", + "/properties/OptionSettings", + "/properties/OptionSettings/*/OptionName", + "/properties/OptionSettings/*/ResourceName", + "/properties/OptionSettings/*/Namespace", + "/properties/OptionSettings/*/Value" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-globalcluster.json new file mode 100644 index 0000000000..9cf0aaadab --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-globalcluster.json @@ -0,0 +1,99 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/GlobalClusterIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/StorageEncrypted", + "/properties/Engine" + ], + "handlers": { + "create": { + "permissions": [ + "rds:CreateGlobalCluster", + "rds:DescribeDBClusters", + "rds:DescribeGlobalClusters" + ] + }, + "delete": { + "permissions": [ + "rds:DescribeGlobalClusters", + "rds:DeleteGlobalCluster", + "rds:RemoveFromGlobalCluster", + "rds:DescribeDBClusters" + ] + }, + "list": { + "permissions": [ + "rds:DescribeGlobalClusters" + ] + }, + "read": { + "permissions": [ + "rds:DescribeGlobalClusters" + ] + }, + "update": { + "permissions": [ + "rds:ModifyGlobalCluster", + "rds:DescribeGlobalClusters" + ] + } + }, + "oneOf": [ + { + "required": [ + "SourceDBClusterIdentifier" + ] + }, + { + "required": [ + "Engine" + ] + } + ], + "primaryIdentifier": [ + "/properties/GlobalClusterIdentifier" + ], + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "enum": [ + "aurora", + "aurora-mysql", + "aurora-postgresql" + ], + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "oneOf": [ + { + "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" + }, + { + "pattern": "^(?=.{40,128}$)arn.*" + } + ], + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "propertyTransform": { + "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "typeName": "AWS::RDS::GlobalCluster" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json index 44237d1a5a..f6f11084f6 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-domain.json @@ -16,7 +16,7 @@ "items": { "$ref": "#/definitions/CustomImage" }, - "maxItems": 30, + "maxItems": 200, "minItems": 0, "type": "array", "uniqueItems": false @@ -122,12 +122,27 @@ "DefaultSpaceSettings": { "additionalProperties": false, "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, "ExecutionRole": { "maxLength": 2048, "minLength": 20, "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/JupyterServerAppSettings" }, @@ -147,6 +162,9 @@ "minItems": 0, "type": "array", "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" } }, "required": [ @@ -177,10 +195,11 @@ "insertionOrder": false, "items": { "maxLength": 12, - "pattern": "^[0-9]$", + "minLength": 12, + "pattern": "^\\d+$", "type": "string" }, - "maxItems": 10, + "maxItems": 20, "minItems": 0, "type": "array", "uniqueItems": false @@ -251,7 +270,7 @@ "items": { "$ref": "#/definitions/CustomImage" }, - "maxItems": 30, + "maxItems": 200, "minItems": 0, "type": "array", "uniqueItems": false @@ -288,7 +307,7 @@ "items": { "$ref": "#/definitions/CustomImage" }, - "maxItems": 30, + "maxItems": 200, "minItems": 0, "type": "array", "uniqueItems": false @@ -307,7 +326,7 @@ "items": { "$ref": "#/definitions/CustomImage" }, - "maxItems": 30, + "maxItems": 200, "minItems": 0, "type": "array", "uniqueItems": false 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 4fa64abeea..383a54222d 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -656,6 +656,7 @@ "aws-ec2-transitgatewayroutetablepropagation.json", "aws-apigateway-basepathmapping.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dynamodb-table.json", @@ -696,7 +697,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-autoscaling-autoscalinggroup.json", "aws-wafv2-regexpatternset.json", @@ -792,6 +792,7 @@ "aws-apigateway-apikey.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-waf-ipset.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", @@ -881,7 +882,6 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1040,6 +1040,7 @@ "aws-docdb-dbsubnetgroup.json", "aws-logs-delivery.json", "aws-iot-policy.json", + "aws-ec2-transitgatewayroute.json", "aws-ssm-maintenancewindow.json", "aws-lakeformation-tagassociation.json", "aws-s3-storagelensgroup.json", @@ -1167,7 +1168,6 @@ "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-ssm-parameter.json", "aws-apigatewayv2-apigatewaymanagedoverrides.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-transitgatewayroute.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-transitgatewayroute.json deleted file mode 100644 index 3882116d12..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-transitgatewayroute.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Blackhole", - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId", - "/properties/DestinationCidrBlock" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "TransitGatewayRouteTableId" - ], - "typeName": "AWS::EC2::TransitGatewayRoute" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} 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 27746a9346..02cc072ed4 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -1276,7 +1276,6 @@ "aws-amplify-branch.json", "aws-kafkaconnect-workerconfiguration.json", "aws-redshift-clustersubnetgroup.json", - "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-lightsail-bucket.json", "aws-apigateway-model.json", @@ -1323,6 +1322,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1334,7 +1334,6 @@ "aws-cleanrooms-analysistemplate.json", "aws-redshift-endpointauthorization.json", "aws-ec2-transitgatewayroutetable.json", - "aws-controltower-enabledcontrol.json", "aws-networkmanager-connectattachment.json", "aws-lightsail-container.json", "aws-s3-accessgrantsinstance.json", @@ -1412,6 +1411,7 @@ "aws-cloudformation-moduleversion.json", "aws-cloud9-environmentec2.json", "aws-rekognition-streamprocessor.json", + "aws-location-placeindex.json", "aws-route53resolver-resolverruleassociation.json", "aws-fsx-storagevirtualmachine.json", "aws-greengrass-connectordefinitionversion.json", @@ -1562,7 +1562,6 @@ "aws-fis-experimenttemplate.json", "aws-codecommit-repository.json", "aws-cloudformation-hookversion.json", - "aws-rolesanywhere-profile.json", "aws-refactorspaces-environment.json", "aws-xray-resourcepolicy.json", "aws-iot-resourcespecificlogging.json", @@ -1640,6 +1639,7 @@ "aws-sagemaker-imageversion.json", "aws-apigatewayv2-api.json", "aws-detective-graph.json", + "aws-location-routecalculator.json", "aws-servicecatalog-portfolioshare.json", "aws-apigateway-vpclink.json", "aws-connect-integrationassociation.json", @@ -1662,7 +1662,6 @@ "aws-connect-predefinedattribute.json", "aws-iam-policy.json", "aws-databrew-schedule.json", - "aws-bedrock-agent.json", "aws-apprunner-service.json", "aws-connect-approvedorigin.json", "aws-ses-contactlist.json", @@ -1695,6 +1694,7 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", + "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -1759,6 +1759,7 @@ "aws-appsync-apikey.json", "aws-cloudformation-typeactivation.json", "aws-groundstation-dataflowendpointgroup.json", + "aws-location-map.json", "aws-acmpca-certificateauthorityactivation.json", "aws-msk-serverlesscluster.json", "aws-guardduty-threatintelset.json", @@ -1834,7 +1835,6 @@ "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", - "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-cleanrooms-privacybudgettemplate.json", @@ -1932,7 +1932,6 @@ "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", "aws-customerprofiles-eventstream.json", - "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-lightsail-certificate.json", @@ -1966,7 +1965,6 @@ "aws-ec2-localgatewayroutetable.json", "aws-apigateway-resource.json", "aws-sagemaker-appimageconfig.json", - "aws-verifiedpermissions-identitysource.json", "aws-macie-session.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", @@ -2316,6 +2314,7 @@ "aws-servicecatalogappregistry-resourceassociation.json", "aws-timestream-table.json", "aws-ec2-vpngateway.json", + "aws-location-apikey.json", "aws-cloudformation-stack.json", "aws-resourcegroups-group.json", "aws-cloudformation-resourcedefaultversion.json", @@ -2367,7 +2366,6 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", - "aws-elasticbeanstalk-environment.json", "aws-proton-servicetemplate.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..7da6126110 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-agent.json @@ -0,0 +1,612 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "bedrock:CreateAgent", + "bedrock:GetAgent", + "bedrock:PrepareAgent", + "bedrock:GetAgentKnowledgeBase", + "bedrock:AssociateAgentKnowledgeBase", + "bedrock:ListAgentKnowledgeBases", + "bedrock:CreateAgentActionGroup", + "bedrock:GetAgentActionGroup", + "bedrock:ListAgentActionGroups", + "bedrock:TagResource", + "bedrock:ListTagsForResource", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "bedrock:GetAgent", + "bedrock:DeleteAgent", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" + ] + }, + "list": { + "permissions": [ + "bedrock:ListAgents", + "bedrock:ListGuardrails" + ] + }, + "read": { + "permissions": [ + "bedrock:GetAgent", + "bedrock:GetAgentActionGroup", + "bedrock:ListAgentActionGroups", + "bedrock:GetAgentKnowledgeBase", + "bedrock:ListAgentKnowledgeBases", + "bedrock:ListTagsForResource", + "bedrock:GetGuardrail", + "kms:Decrypt" + ] + }, + "update": { + "permissions": [ + "bedrock:GetAgent", + "bedrock:UpdateAgent", + "bedrock:PrepareAgent", + "bedrock:GetAgentKnowledgeBase", + "bedrock:UpdateAgentKnowledgeBase", + "bedrock:AssociateAgentKnowledgeBase", + "bedrock:DisassociateAgentKnowledgeBase", + "bedrock:ListAgentKnowledgeBases", + "bedrock:CreateAgentActionGroup", + "bedrock:GetAgentActionGroup", + "bedrock:UpdateAgentActionGroup", + "bedrock:DeleteAgentActionGroup", + "bedrock:ListAgentActionGroups", + "bedrock:TagResource", + "bedrock:UntagResource", + "bedrock:ListTagsForResource", + "bedrock:UpdateGuardrail", + "bedrock:GetGuardrail", + "kms:Decrypt", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-controltower-enabledcontrol.json new file mode 100644 index 0000000000..1999a1aacf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-controltower-enabledcontrol.json @@ -0,0 +1,201 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/TargetIdentifier", + "/properties/ControlIdentifier" + ], + "definitions": { + "EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "anyOf": [ + { + "insertionOrder": false, + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] + }, + "minItems": 1, + "type": "array" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "Value", + "Key" + ], + "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": [ + "controltower:ListEnabledControls", + "controltower:GetEnabledControl", + "controltower:GetControlOperation", + "controltower:EnableControl", + "controltower:TagResource", + "organizations:UpdatePolicy", + "organizations:CreatePolicy", + "organizations:AttachPolicy", + "organizations:DetachPolicy", + "organizations:ListPoliciesForTarget", + "organizations:ListTargetsForPolicy", + "organizations:DescribePolicy" + ], + "timeoutInMinutes": 720 + }, + "delete": { + "permissions": [ + "controltower:GetControlOperation", + "controltower:DisableControl", + "organizations:UpdatePolicy", + "organizations:DeletePolicy", + "organizations:CreatePolicy", + "organizations:AttachPolicy", + "organizations:DetachPolicy", + "organizations:ListPoliciesForTarget", + "organizations:ListTargetsForPolicy", + "organizations:DescribePolicy" + ], + "timeoutInMinutes": 720 + }, + "list": { + "handlerSchema": { + "properties": { + "TargetIdentifier": { + "$ref": "resource-schema.json#/properties/TargetIdentifier" + } + }, + "required": [ + "TargetIdentifier" + ] + }, + "permissions": [ + "controltower:ListEnabledControls" + ] + }, + "read": { + "permissions": [ + "controltower:ListEnabledControls", + "controltower:GetEnabledControl", + "controltower:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "controltower:ListEnabledControls", + "controltower:GetEnabledControl", + "controltower:GetControlOperation", + "controltower:UpdateEnabledControl", + "controltower:UntagResource", + "controltower:TagResource", + "organizations:UpdatePolicy", + "organizations:CreatePolicy", + "organizations:AttachPolicy", + "organizations:DetachPolicy", + "organizations:ListPoliciesForTarget", + "organizations:ListTargetsForPolicy", + "organizations:DescribePolicy" + ], + "timeoutInMinutes": 720 + } + }, + "primaryIdentifier": [ + "/properties/TargetIdentifier", + "/properties/ControlIdentifier" + ], + "properties": { + "ControlIdentifier": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", + "type": "string" + }, + "Parameters": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EnabledControlParameter" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" + }, + "TargetIdentifier": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", + "type": "string" + } + }, + "required": [ + "TargetIdentifier", + "ControlIdentifier" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ControlTower::EnabledControl" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-elasticbeanstalk-environment.json new file mode 100644 index 0000000000..dd50c329e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-elasticbeanstalk-environment.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CNAMEPrefix", + "/properties/EnvironmentName", + "/properties/ApplicationName", + "/properties/SolutionStackName", + "/properties/Tier/Name", + "/properties/Tier/Type" + ], + "definitions": { + "OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 120 + }, + "delete": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:TerminateEnvironment" + ], + "timeoutInMinutes": 210 + }, + "list": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:DescribeConfigurationSettings", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:UpdateEnvironment", + "elasticbeanstalk:UpdateTagsForResource", + "elasticbeanstalk:AssociateEnvironmentOperationsRole", + "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 300 + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentName" + ], + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EndpointURL": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OptionSetting" + }, + "type": "array", + "uniqueItems": false + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/EndpointURL" + ], + "required": [ + "ApplicationName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ElasticBeanstalk::Environment", + "writeOnlyProperties": [ + "/properties/TemplateName", + "/properties/OptionSettings", + "/properties/OptionSettings/*/OptionName", + "/properties/OptionSettings/*/ResourceName", + "/properties/OptionSettings/*/Namespace", + "/properties/OptionSettings/*/Value" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json deleted file mode 100644 index 78d06db8a5..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyName" - ], - "definitions": { - "ApiKeyRestrictions": { - "additionalProperties": false, - "properties": { - "AllowActions": { - "insertionOrder": false, - "items": { - "maxLength": 200, - "minLength": 5, - "pattern": "^geo:\\w*\\*?$", - "type": "string" - }, - "maxItems": 7, - "minItems": 1, - "type": "array" - }, - "AllowReferers": { - "insertionOrder": false, - "items": { - "maxLength": 253, - "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array" - }, - "AllowResources": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "AllowActions", - "AllowResources" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateKey", - "geo:DescribeKey", - "geo:TagResource", - "geo:UntagResource", - "geo:GetMapTile", - "geo:GetMapStyleDescriptor", - "geo:GetMapSprites", - "geo:GetMapGlyphs", - "geo:SearchPlaceIndexForText", - "geo:SearchPlaceIndexForPosition", - "geo:SearchPlaceIndexForSuggestions", - "geo:GetPlace", - "geo:CalculateRoute", - "geo:CalculateRouteMatrix" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteKey", - "geo:DescribeKey" - ] - }, - "list": { - "permissions": [ - "geo:ListKeys" - ] - }, - "read": { - "permissions": [ - "geo:DescribeKey" - ] - }, - "update": { - "permissions": [ - "geo:CreateKey", - "geo:DescribeKey", - "geo:TagResource", - "geo:UntagResource", - "geo:GetMapTile", - "geo:GetMapStyleDescriptor", - "geo:GetMapSprites", - "geo:GetMapGlyphs", - "geo:SearchPlaceIndexForText", - "geo:SearchPlaceIndexForPosition", - "geo:SearchPlaceIndexForSuggestions", - "geo:GetPlace", - "geo:CalculateRoute", - "geo:CalculateRouteMatrix", - "geo:UpdateKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/KeyName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "ExpireTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "ForceDelete": { - "type": "boolean" - }, - "ForceUpdate": { - "type": "boolean" - }, - "KeyArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "KeyName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "NoExpiry": { - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/ApiKeyRestrictions" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/KeyArn", - "/properties/UpdateTime" - ], - "required": [ - "KeyName", - "Restrictions" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::APIKey", - "writeOnlyProperties": [ - "/properties/ForceUpdate", - "/properties/ForceDelete", - "/properties/NoExpiry" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-map.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-map.json deleted file mode 100644 index d96fddd0f5..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-map.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Configuration", - "/properties/MapName" - ], - "definitions": { - "MapConfiguration": { - "additionalProperties": false, - "properties": { - "CustomLayers": { - "items": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "maxItems": 10, - "type": "array" - }, - "PoliticalView": { - "maxLength": 3, - "minLength": 3, - "pattern": "^[A-Z]{3}$", - "type": "string" - }, - "Style": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateMap", - "geo:DescribeMap", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteMap", - "geo:DescribeMap" - ] - }, - "list": { - "permissions": [ - "geo:ListMaps" - ] - }, - "read": { - "permissions": [ - "geo:DescribeMap" - ] - }, - "update": { - "permissions": [ - "geo:CreateMap", - "geo:DescribeMap", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdateMap" - ] - } - }, - "primaryIdentifier": [ - "/properties/MapName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/MapConfiguration" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "MapArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "MapName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/MapArn", - "/properties/UpdateTime" - ], - "required": [ - "Configuration", - "MapName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::Map" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-placeindex.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-placeindex.json deleted file mode 100644 index d538ec3c9e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-placeindex.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DataSource", - "/properties/IndexName" - ], - "definitions": { - "DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "IntendedUse": { - "$ref": "#/definitions/IntendedUse" - } - }, - "type": "object" - }, - "IntendedUse": { - "enum": [ - "SingleUse", - "Storage" - ], - "type": "string" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreatePlaceIndex", - "geo:DescribePlaceIndex", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeletePlaceIndex", - "geo:DescribePlaceIndex" - ] - }, - "list": { - "permissions": [ - "geo:ListPlaceIndexes" - ] - }, - "read": { - "permissions": [ - "geo:DescribePlaceIndex" - ] - }, - "update": { - "permissions": [ - "geo:CreatePlaceIndex", - "geo:DescribePlaceIndex", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdatePlaceIndex" - ] - } - }, - "primaryIdentifier": [ - "/properties/IndexName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "DataSource": { - "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/DataSourceConfiguration" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "IndexArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "IndexName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/IndexArn", - "/properties/UpdateTime" - ], - "required": [ - "DataSource", - "IndexName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::PlaceIndex" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-routecalculator.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-routecalculator.json deleted file mode 100644 index 3cd1e99e3d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-routecalculator.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CalculatorName", - "/properties/DataSource" - ], - "definitions": { - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateRouteCalculator", - "geo:DescribeRouteCalculator", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteRouteCalculator", - "geo:DescribeRouteCalculator" - ] - }, - "list": { - "permissions": [ - "geo:ListRouteCalculators" - ] - }, - "read": { - "permissions": [ - "geo:DescribeRouteCalculator" - ] - }, - "update": { - "permissions": [ - "geo:CreateRouteCalculator", - "geo:DescribeRouteCalculator", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdateRouteCalculator" - ] - } - }, - "primaryIdentifier": [ - "/properties/CalculatorName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "CalculatorArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "CalculatorName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "DataSource": { - "type": "string" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CalculatorArn", - "/properties/Arn", - "/properties/CreateTime", - "/properties/UpdateTime" - ], - "required": [ - "DataSource", - "CalculatorName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::RouteCalculator" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json similarity index 91% rename from src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json index 62a3797fcd..fc3519fd59 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json @@ -30,10 +30,6 @@ "type": "string" }, "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, "type": "string" } }, @@ -58,20 +54,6 @@ "additionalProperties": false, "properties": { "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], "type": "string" }, "SecretArn": { @@ -155,6 +137,8 @@ "rds:CreateDBCluster", "rds:CreateDBInstance", "rds:DescribeDBClusters", + "rds:DescribeDBClusterSnapshots", + "rds:DescribeDBSnapshots", "rds:DescribeEvents", "rds:EnableHttpEndpoint", "rds:ModifyDBCluster", @@ -302,6 +286,9 @@ "EnableIAMDatabaseAuthentication": { "type": "boolean" }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, "Endpoint": { "$ref": "#/definitions/Endpoint" }, @@ -327,20 +314,6 @@ "type": "integer" }, "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], "type": "string" }, "ManageMasterUserPassword": { @@ -439,20 +412,6 @@ }, "VpcSecurityGroupIds": { "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], "type": "string" }, "type": "array", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json similarity index 92% rename from src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json index 3825c408fe..3263d77fb7 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json @@ -83,20 +83,6 @@ "additionalProperties": false, "properties": { "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], "type": "string" }, "SecretArn": { @@ -344,10 +330,6 @@ }, "DBSecurityGroups": { "items": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::RDS::DBSecurityGroup" - }, "type": "string" }, "type": "array", @@ -413,6 +395,9 @@ "Engine": { "type": "string" }, + "EngineLifecycleSupport": { + "type": "string" + }, "EngineVersion": { "type": "string" }, @@ -420,20 +405,6 @@ "type": "integer" }, "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], "type": "string" }, "LicenseModel": { @@ -477,20 +448,6 @@ "type": "string" }, "PerformanceInsightsKMSKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], "type": "string" }, "PerformanceInsightsRetentionPeriod": { @@ -604,10 +561,6 @@ }, "VPCSecurityGroups": { "items": { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - }, "type": "string" }, "type": "array", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-resiliencehub-app.json new file mode 100644 index 0000000000..7b24e3ece7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-resiliencehub-app.json @@ -0,0 +1,289 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "EventSubscription": { + "additionalProperties": false, + "properties": { + "EventType": { + "enum": [ + "ScheduledAssessmentFailure", + "DriftDetected" + ], + "type": "string" + }, + "Name": { + "maxLength": 256, + "type": "string" + }, + "SnsTopicArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", + "type": "string" + } + }, + "required": [ + "Name", + "EventType" + ], + "type": "object" + }, + "IamRoleArn": { + "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", + "type": "string" + }, + "PermissionModel": { + "additionalProperties": false, + "properties": { + "CrossAccountRoleArns": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/IamRoleArn" + }, + "type": "array", + "uniqueItems": false + }, + "InvokerRoleName": { + "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", + "type": "string" + }, + "Type": { + "enum": [ + "LegacyIAMUser", + "RoleBased" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "PhysicalResourceId": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "AwsRegion": { + "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", + "type": "string" + }, + "Identifier": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Type": { + "pattern": "Arn|Native", + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "ResourceMapping": { + "additionalProperties": false, + "properties": { + "EksSourceName": { + "type": "string" + }, + "LogicalStackName": { + "type": "string" + }, + "MappingType": { + "pattern": "CfnStack|Resource|Terraform|EKS", + "type": "string" + }, + "PhysicalResourceId": { + "$ref": "#/definitions/PhysicalResourceId" + }, + "ResourceName": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", + "type": "string" + }, + "TerraformSourceName": { + "type": "string" + } + }, + "required": [ + "MappingType", + "PhysicalResourceId" + ], + "type": "object" + }, + "TagMap": { + "additionalProperties": false, + "patternProperties": { + ".{1,128}": { + "$ref": "#/definitions/TagValue" + } + }, + "type": "object" + }, + "TagValue": { + "maxLength": 256, + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "cloudformation:DescribeStacks", + "cloudformation:ListStackResources", + "s3:GetBucketLocation", + "s3:GetObject", + "s3:ListAllMyBuckets", + "autoscaling:DescribeAutoScalingGroups", + "apigateway:GET", + "ec2:Describe*", + "ecs:DescribeServices", + "eks:DescribeCluster", + "elasticfilesystem:DescribeFileSystems", + "elasticloadbalancing:DescribeLoadBalancers", + "lambda:GetFunction*", + "rds:Describe*", + "dynamodb:Describe*", + "sqs:GetQueueAttributes", + "sns:GetTopicAttributes", + "route53:List*", + "iam:PassRole", + "resiliencehub:*" + ] + }, + "delete": { + "permissions": [ + "resiliencehub:DeleteApp", + "resiliencehub:UntagResource", + "resiliencehub:ListApps" + ] + }, + "list": { + "permissions": [ + "resiliencehub:ListApps" + ] + }, + "read": { + "permissions": [ + "resiliencehub:DescribeApp", + "resiliencehub:DescribeAppVersionTemplate", + "resiliencehub:ListAppVersionResourceMappings", + "resiliencehub:ListTagsForResource", + "resiliencehub:ListAppVersions" + ] + }, + "update": { + "permissions": [ + "cloudformation:DescribeStacks", + "cloudformation:ListStackResources", + "s3:GetBucketLocation", + "s3:GetObject", + "s3:ListAllMyBuckets", + "autoscaling:DescribeAutoScalingGroups", + "apigateway:GET", + "ec2:Describe*", + "ecs:DescribeServices", + "eks:DescribeCluster", + "elasticfilesystem:DescribeFileSystems", + "elasticloadbalancing:DescribeLoadBalancers", + "lambda:GetFunction*", + "rds:Describe*", + "dynamodb:Describe*", + "sqs:GetQueueAttributes", + "sns:GetTopicAttributes", + "route53:List*", + "iam:PassRole", + "resiliencehub:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/AppArn" + ], + "properties": { + "AppArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", + "type": "string" + }, + "AppAssessmentSchedule": { + "enum": [ + "Disabled", + "Daily" + ], + "type": "string" + }, + "AppTemplateBody": { + "maxLength": 409600, + "minLength": 0, + "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", + "type": "string" + }, + "Description": { + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "DriftStatus": { + "enum": [ + "NotChecked", + "NotDetected", + "Detected" + ], + "type": "string" + }, + "EventSubscriptions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EventSubscription" + }, + "type": "array", + "uniqueItems": false + }, + "Name": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", + "type": "string" + }, + "PermissionModel": { + "$ref": "#/definitions/PermissionModel" + }, + "ResiliencyPolicyArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", + "type": "string" + }, + "ResourceMappings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ResourceMapping" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "$ref": "#/definitions/TagMap" + } + }, + "readOnlyProperties": [ + "/properties/AppArn", + "/properties/DriftStatus" + ], + "required": [ + "Name", + "AppTemplateBody", + "ResourceMappings" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ResilienceHub::App" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json new file mode 100644 index 0000000000..8303473193 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json @@ -0,0 +1,184 @@ +{ + "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": { + "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/eu_central_1/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-verifiedpermissions-identitysource.json new file mode 100644 index 0000000000..aa1e3ca938 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-verifiedpermissions-identitysource.json @@ -0,0 +1,344 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PolicyStoreId" + ], + "definitions": { + "CognitoGroupConfiguration": { + "additionalProperties": false, + "properties": { + "GroupEntityType": { + "maxLength": 200, + "minLength": 1, + "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", + "type": "string" + } + }, + "required": [ + "GroupEntityType" + ], + "type": "object" + }, + "CognitoUserPoolConfiguration": { + "additionalProperties": false, + "properties": { + "ClientIds": { + "insertionOrder": false, + "items": { + "maxLength": 255, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "maxItems": 1000, + "minItems": 0, + "type": "array" + }, + "GroupConfiguration": { + "$ref": "#/definitions/CognitoGroupConfiguration" + }, + "UserPoolArn": { + "maxLength": 255, + "minLength": 1, + "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", + "type": "string" + } + }, + "required": [ + "UserPoolArn" + ], + "type": "object" + }, + "IdentitySourceConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "CognitoUserPoolConfiguration": { + "$ref": "#/definitions/CognitoUserPoolConfiguration" + } + }, + "required": [ + "CognitoUserPoolConfiguration" + ], + "title": "CognitoUserPoolConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "OpenIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfiguration" + } + }, + "required": [ + "OpenIdConnectConfiguration" + ], + "title": "OpenIdConnectConfiguration", + "type": "object" + } + ] + }, + "IdentitySourceDetails": { + "additionalProperties": false, + "properties": { + "ClientIds": { + "insertionOrder": false, + "items": { + "maxLength": 255, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "maxItems": 1000, + "minItems": 0, + "type": "array" + }, + "DiscoveryUrl": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^https://.*$", + "type": "string" + }, + "OpenIdIssuer": { + "$ref": "#/definitions/OpenIdIssuer" + }, + "UserPoolArn": { + "maxLength": 255, + "minLength": 1, + "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", + "type": "string" + } + }, + "type": "object" + }, + "OpenIdConnectAccessTokenConfiguration": { + "additionalProperties": false, + "properties": { + "Audiences": { + "insertionOrder": false, + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 255, + "minItems": 1, + "type": "array" + }, + "PrincipalIdClaim": { + "default": "sub", + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "OpenIdConnectConfiguration": { + "additionalProperties": false, + "properties": { + "EntityIdPrefix": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "GroupConfiguration": { + "$ref": "#/definitions/OpenIdConnectGroupConfiguration" + }, + "Issuer": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^https://.*$", + "type": "string" + }, + "TokenSelection": { + "$ref": "#/definitions/OpenIdConnectTokenSelection" + } + }, + "required": [ + "Issuer", + "TokenSelection" + ], + "type": "object" + }, + "OpenIdConnectGroupConfiguration": { + "additionalProperties": false, + "properties": { + "GroupClaim": { + "minLength": 1, + "type": "string" + }, + "GroupEntityType": { + "maxLength": 200, + "minLength": 1, + "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", + "type": "string" + } + }, + "required": [ + "GroupClaim", + "GroupEntityType" + ], + "type": "object" + }, + "OpenIdConnectIdentityTokenConfiguration": { + "additionalProperties": false, + "properties": { + "ClientIds": { + "insertionOrder": false, + "items": { + "maxLength": 255, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + }, + "maxItems": 1000, + "minItems": 0, + "type": "array" + }, + "PrincipalIdClaim": { + "default": "sub", + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "OpenIdConnectTokenSelection": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "AccessTokenOnly": { + "$ref": "#/definitions/OpenIdConnectAccessTokenConfiguration" + } + }, + "required": [ + "AccessTokenOnly" + ], + "title": "AccessTokenOnly", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IdentityTokenOnly": { + "$ref": "#/definitions/OpenIdConnectIdentityTokenConfiguration" + } + }, + "required": [ + "IdentityTokenOnly" + ], + "title": "IdentityTokenOnly", + "type": "object" + } + ] + }, + "OpenIdIssuer": { + "enum": [ + "COGNITO" + ], + "type": "string" + } + }, + "deprecatedProperties": [ + "/properties/Details" + ], + "handlers": { + "create": { + "permissions": [ + "verifiedpermissions:CreateIdentitySource", + "verifiedpermissions:GetIdentitySource", + "cognito-idp:DescribeUserPool", + "cognito-idp:ListUserPoolClients" + ] + }, + "delete": { + "permissions": [ + "verifiedpermissions:DeleteIdentitySource", + "verifiedpermissions:GetIdentitySource", + "cognito-idp:DescribeUserPool", + "cognito-idp:ListUserPoolClients" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "PolicyStoreId": { + "$ref": "resource-schema.json#/properties/PolicyStoreId" + } + }, + "required": [ + "PolicyStoreId" + ] + }, + "permissions": [ + "verifiedpermissions:ListIdentitySources", + "verifiedpermissions:GetIdentitySource", + "cognito-idp:DescribeUserPool", + "cognito-idp:ListUserPoolClients" + ] + }, + "read": { + "permissions": [ + "verifiedpermissions:GetIdentitySource", + "cognito-idp:DescribeUserPool", + "cognito-idp:ListUserPoolClients" + ] + }, + "update": { + "permissions": [ + "verifiedpermissions:UpdateIdentitySource", + "verifiedpermissions:GetIdentitySource", + "cognito-idp:DescribeUserPool", + "cognito-idp:ListUserPoolClients" + ] + } + }, + "primaryIdentifier": [ + "/properties/IdentitySourceId", + "/properties/PolicyStoreId" + ], + "properties": { + "Configuration": { + "$ref": "#/definitions/IdentitySourceConfiguration" + }, + "Details": { + "$ref": "#/definitions/IdentitySourceDetails" + }, + "IdentitySourceId": { + "maxLength": 200, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "PolicyStoreId": { + "maxLength": 200, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "PrincipalEntityType": { + "maxLength": 200, + "minLength": 1, + "pattern": "^.*$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Details", + "/properties/IdentitySourceId" + ], + "required": [ + "Configuration", + "PolicyStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::VerifiedPermissions::IdentitySource" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py index 1082518f39..b68262bd00 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -589,6 +589,7 @@ "aws-ec2-transitgatewayroutetablepropagation.json", "aws-shield-proactiveengagement.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-dms-replicationconfig.json", "aws-dynamodb-table.json", @@ -604,6 +605,7 @@ "aws-appconfig-extensionassociation.json", "aws-ec2-ipampoolcidr.json", "aws-redshift-clustersubnetgroup.json", + "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-ec2-networkacl.json", "aws-lambda-eventsourcemapping.json", @@ -705,6 +707,7 @@ "aws-elasticache-serverlesscache.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-autoscaling-launchconfiguration.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", @@ -776,7 +779,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", "aws-securityhub-productsubscription.json", @@ -922,6 +924,7 @@ "aws-rds-optiongroup.json", "aws-opsworks-userprofile.json", "aws-logs-delivery.json", + "aws-ec2-transitgatewayroute.json", "aws-ssm-maintenancewindow.json", "aws-lakeformation-tagassociation.json", "aws-ec2-ipamresourcediscovery.json", @@ -1024,7 +1027,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", @@ -1043,6 +1045,7 @@ "aws-ec2-transitgatewaypeeringattachment.json", "aws-quicksight-template.json", "aws-cloudfront-cachepolicy.json", + "aws-rds-dbsubnetgroup.json", "aws-amazonmq-configuration.json", "aws-accessanalyzer-analyzer.json", "aws-ec2-ec2fleet.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-transitgatewayroute.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-transitgatewayroute.json deleted file mode 100644 index 3882116d12..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-transitgatewayroute.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Blackhole", - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId", - "/properties/DestinationCidrBlock" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "TransitGatewayRouteTableId" - ], - "typeName": "AWS::EC2::TransitGatewayRoute" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json index 06ef3e1140..62a3797fcd 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json @@ -308,6 +308,9 @@ "Engine": { "type": "string" }, + "EngineLifecycleSupport": { + "type": "string" + }, "EngineMode": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json deleted file mode 100644 index 3825c408fe..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json +++ /dev/null @@ -1,667 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/AutoMinorVersionUpgrade", - "/properties/AvailabilityZone", - "/properties/BackupRetentionPeriod", - "/properties/DBClusterSnapshotIdentifier", - "/properties/DBParameterGroupName", - "/properties/DBSnapshotIdentifier", - "/properties/Engine", - "/properties/MultiAZ", - "/properties/PerformanceInsightsKMSKeyId", - "/properties/PreferredMaintenanceWindow", - "/properties/RestoreTime", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/StorageType", - "/properties/UseLatestRestorableTime" - ], - "createOnlyProperties": [ - "/properties/CharacterSetName", - "/properties/CustomIAMInstanceProfile", - "/properties/DBClusterIdentifier", - "/properties/DBInstanceIdentifier", - "/properties/DBName", - "/properties/DBSubnetGroupName", - "/properties/KmsKeyId", - "/properties/MasterUsername", - "/properties/NcharCharacterSetName", - "/properties/Port", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/Timezone" - ], - "definitions": { - "CertificateDetails": { - "additionalProperties": false, - "properties": { - "CAIdentifier": { - "type": "string" - }, - "ValidTill": { - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "enum": [ - "coreCount", - "threadsPerCore" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "dependencies": { - "KmsKeyId": { - "properties": { - "StorageEncrypted": { - "enum": [ - "true", - "True", - true - ] - } - }, - "required": [ - "StorageEncrypted" - ] - } - }, - "dependentExcluded": { - "SourceDBInstanceIdentifier": [ - "CharacterSetName", - "MasterUserPassword", - "MasterUsername", - "StorageEncrypted" - ] - }, - "deprecatedProperties": [ - "/properties/TdeCredentialArn", - "/properties/TdeCredentialPassword" - ], - "handlers": { - "create": { - "permissions": [ - "ec2:DescribeAccountAttributes", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroups", - "ec2:DescribeSubnets", - "ec2:DescribeVpcAttribute", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "iam:GetRole", - "iam:ListRoles", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey", - "rds:AddRoleToDBInstance", - "rds:AddTagsToResource", - "rds:CreateDBInstance", - "rds:CreateDBInstanceReadReplica", - "rds:DescribeDBInstances", - "rds:DescribeDBClusters", - "rds:DescribeDBClusterSnapshots", - "rds:DescribeDBInstanceAutomatedBackups", - "rds:DescribeDBSnapshots", - "rds:DescribeEvents", - "rds:ModifyDBInstance", - "rds:RebootDBInstance", - "rds:RestoreDBInstanceFromDBSnapshot", - "rds:RestoreDBInstanceToPointInTime", - "rds:StartDBInstanceAutomatedBackupsReplication", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBSnapshot", - "rds:DeleteDBInstance", - "rds:DescribeDBInstances" - ], - "timeoutInMinutes": 2160 - }, - "list": { - "permissions": [ - "rds:DescribeDBInstances" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeAccountAttributes", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroups", - "ec2:DescribeSubnets", - "ec2:DescribeVpcAttribute", - "ec2:DescribeVpcs", - "rds:DescribeDBInstances" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeAccountAttributes", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeInternetGateways", - "ec2:DescribeSecurityGroups", - "ec2:DescribeSubnets", - "ec2:DescribeVpcAttribute", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "iam:GetRole", - "iam:ListRoles", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey", - "rds:AddRoleToDBInstance", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBEngineVersions", - "rds:DescribeDBInstances", - "rds:DescribeDBParameterGroups", - "rds:DescribeEvents", - "rds:ModifyDBInstance", - "rds:PromoteReadReplica", - "rds:RebootDBInstance", - "rds:RemoveRoleFromDBInstance", - "rds:RemoveTagsFromResource", - "rds:StartDBInstanceAutomatedBackupsReplication", - "rds:StopDBInstanceAutomatedBackupsReplication", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBInstanceIdentifier" - ], - "properties": { - "AllocatedStorage": { - "pattern": "^[0-9]*$", - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticBackupReplicationKmsKeyId": { - "type": "string" - }, - "AutomaticBackupReplicationRegion": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 0, - "type": "integer" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CertificateDetails": { - "$ref": "#/definitions/CertificateDetails" - }, - "CertificateRotationRestart": { - "type": "boolean" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "CustomIAMInstanceProfile": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "type": "string" - }, - "DBInstanceArn": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::RDS::DBSecurityGroup" - }, - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DbiResourceId": { - "type": "string" - }, - "DedicatedLogVolume": { - "type": "boolean" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainAuthSecretArn": { - "type": "string" - }, - "DomainDnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainFqdn": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "DomainOu": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "integer" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "NcharCharacterSetName": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "enum": [ - 7, - 31, - 62, - 93, - 124, - 155, - 186, - 217, - 248, - 279, - 310, - 341, - 372, - 403, - 434, - 465, - 496, - 527, - 558, - 589, - 620, - 651, - 682, - 713, - 731 - ], - "type": "integer" - }, - "Port": { - "pattern": "^\\d*$", - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "default": 1, - "maximum": 15, - "minimum": 0, - "type": "integer" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReplicaMode": { - "type": "string" - }, - "RestoreTime": { - "format": "date-time", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceDBInstanceAutomatedBackupsArn": { - "type": "string" - }, - "SourceDBInstanceIdentifier": { - "type": "string" - }, - "SourceDbiResourceId": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TdeCredentialArn": { - "type": "string" - }, - "TdeCredentialPassword": { - "type": "string" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - }, - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", - "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", - "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", - "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/OptionGroupName": "$lowercase(OptionGroupName)", - "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKMSKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", - "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/Endpoint/HostedZoneId", - "/properties/DbiResourceId", - "/properties/DBInstanceArn", - "/properties/DBSystemId", - "/properties/MasterUserSecret/SecretArn", - "/properties/CertificateDetails/CAIdentifier", - "/properties/CertificateDetails/ValidTill" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::RDS::DBInstance", - "writeOnlyProperties": [ - "/properties/AllowMajorVersionUpgrade", - "/properties/AutomaticBackupReplicationKmsKeyId", - "/properties/CertificateRotationRestart", - "/properties/DBSnapshotIdentifier", - "/properties/DeleteAutomatedBackups", - "/properties/MasterUserPassword", - "/properties/Port", - "/properties/RestoreTime", - "/properties/SourceDBInstanceAutomatedBackupsArn", - "/properties/SourceDBInstanceIdentifier", - "/properties/SourceDbiResourceId", - "/properties/SourceRegion", - "/properties/TdeCredentialPassword", - "/properties/UseDefaultProcessorFeatures", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbsubnetgroup.json deleted file mode 100644 index 6fdef85afc..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbsubnetgroup.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBSubnetGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "rds:CreateDBSubnetGroup", - "rds:DescribeDBSubnetGroups", - "rds:AddTagsToResource", - "rds:RemoveTagsFromResource", - "rds:ListTagsForResource" - ] - }, - "delete": { - "permissions": [ - "rds:DeleteDBSubnetGroup", - "rds:DescribeDBSubnetGroups", - "rds:ListTagsForResource" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBSubnetGroups" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBSubnetGroups", - "rds:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "rds:ModifyDBSubnetGroup", - "rds:DescribeDBSubnetGroups", - "rds:AddTagsToResource", - "rds:RemoveTagsFromResource", - "rds:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DBSubnetGroupName" - ], - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "pattern": "^(?!default$)[a-zA-Z]{1}[a-zA-Z0-9-_\\.\\s]{0,254}$", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBSubnetGroup", - "writeOnlyProperties": [ - "/properties/SubnetIds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py index d26c498722..11a5b3fe75 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -1049,7 +1049,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1333,7 +1332,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", @@ -1798,7 +1796,6 @@ "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py index 34564611e1..9ef952efcf 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -833,7 +833,6 @@ "aws-config-storedquery.json", "aws-acmpca-permission.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-autoscaling-autoscalinggroup.json", @@ -1052,7 +1051,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1409,7 +1407,6 @@ "aws-rds-dbsecuritygroup.json", "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py index b93612baea..3a81b84433 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -786,7 +786,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", "aws-securityhub-productsubscription.json", @@ -1040,7 +1039,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py index 62f93ec6f7..3749a3b5d4 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -1302,7 +1302,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1667,7 +1666,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -2270,7 +2268,6 @@ "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", "aws-quicksight-topic.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index cded2741d0..f07bee6f4f 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -1219,7 +1219,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1566,7 +1565,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -2104,7 +2102,6 @@ "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", "aws-quicksight-topic.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py index 34a7dd5df8..2f0b5d7c5f 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -951,6 +951,7 @@ "aws-shield-proactiveengagement.json", "aws-apigateway-basepathmapping.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-servicecatalog-portfolioprincipalassociation.json", "aws-ram-resourceshare.json", @@ -1021,7 +1022,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1052,6 +1052,7 @@ "aws-mediaconvert-queue.json", "aws-sagemaker-coderepository.json", "aws-imagebuilder-component.json", + "aws-ses-configurationseteventdestination.json", "aws-mediapackage-packagingconfiguration.json", "aws-mediaconnect-flowentitlement.json", "aws-opensearchserverless-accesspolicy.json", @@ -1128,6 +1129,7 @@ "aws-sso-permissionset.json", "aws-glue-job.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", + "aws-route53-hostedzone.json", "aws-eks-podidentityassociation.json", "aws-resourceexplorer2-index.json", "aws-glue-table.json", @@ -1160,6 +1162,7 @@ "aws-networkmanager-transitgatewayroutetableattachment.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1294,7 +1297,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", @@ -1386,6 +1388,7 @@ "aws-scheduler-schedule.json", "aws-waf-bytematchset.json", "aws-amplifyuibuilder-theme.json", + "aws-emrserverless-application.json", "aws-ec2-host.json", "aws-lambda-codesigningconfig.json", "aws-bedrock-guardrail.json", @@ -1484,6 +1487,7 @@ "aws-iot-domainconfiguration.json", "aws-sagemaker-endpoint.json", "aws-elasticloadbalancingv2-truststorerevocation.json", + "aws-networkfirewall-firewall.json", "aws-eventschemas-schema.json", "aws-m2-application.json", "aws-ses-template.json", @@ -1741,7 +1745,6 @@ "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json deleted file mode 100644 index 1bea9dcdc3..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt", - "emr-serverless:CreateApplication", - "emr-serverless:TagResource", - "emr-serverless:GetApplication", - "iam:CreateServiceLinkedRole", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer" - ] - }, - "delete": { - "permissions": [ - "emr-serverless:DeleteApplication", - "emr-serverless:GetApplication" - ] - }, - "list": { - "permissions": [ - "emr-serverless:ListApplications" - ] - }, - "read": { - "permissions": [ - "emr-serverless:GetApplication" - ] - }, - "update": { - "permissions": [ - "emr-serverless:UpdateApplication", - "emr-serverless:TagResource", - "emr-serverless:UntagResource", - "emr-serverless:GetApplication", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer", - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-route53-hostedzone.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-route53-hostedzone.json deleted file mode 100644 index 7386006f1a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-route53-hostedzone.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" - }, - "HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::Logs::LogGroup" - }, - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "format": "AWS::EC2::VPC.Id", - "relationshipRef": { - "propertyPath": "/properties/VpcId", - "typeName": "AWS::EC2::VPC" - }, - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "route53:CreateHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:ChangeTagsForResource", - "route53:GetChange", - "route53:AssociateVPCWithHostedZone", - "ec2:DescribeVpcs" - ] - }, - "delete": { - "permissions": [ - "route53:DeleteHostedZone", - "route53:DeleteQueryLoggingConfig", - "route53:ListQueryLoggingConfigs", - "route53:GetChange" - ] - }, - "list": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListHostedZones", - "route53:ListHostedZonesByName", - "route53:ListQueryLoggingConfigs", - "route53:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListTagsForResource", - "route53:ListQueryLoggingConfigs" - ] - }, - "update": { - "permissions": [ - "route53:GetChange", - "route53:ListTagsForResource", - "route53:UpdateHostedZoneComment", - "route53:ChangeTagsForResource", - "route53:AssociateVPCWithHostedZone", - "route53:DisassociateVPCFromHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:DeleteQueryLoggingConfig", - "ec2:DescribeVpcs" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/HostedZoneConfig" - }, - "HostedZoneTags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostedZoneTag" - }, - "type": "array", - "uniqueItems": true - }, - "Id": { - "type": "string" - }, - "Name": { - "maxLength": 1024, - "type": "string" - }, - "NameServers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/QueryLoggingConfig" - }, - "VPCs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VPC" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/Name": "$join([Name, \".\"])" - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/NameServers" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git", - "typeName": "AWS::Route53::HostedZone" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationseteventdestination.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationseteventdestination.json deleted file mode 100644 index 2346a687ae..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationseteventdestination.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfigurationSetName" - ], - "definitions": { - "CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DimensionConfiguration" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "type": "string" - }, - "DimensionName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_:-]{1,256}$", - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DimensionValueSource", - "DefaultDimensionValue", - "DimensionName" - ], - "type": "object" - }, - "EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{0,64}$", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "type": "object" - }, - "SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "maxLength": 1024, - "minLength": 36, - "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$", - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSetEventDestination" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:UpdateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/EventDestination" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSetEventDestination" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py index 02ff9b62c8..f8fbe798da 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -651,6 +651,7 @@ "aws-ec2-transitgatewayroutetablepropagation.json", "aws-shield-proactiveengagement.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dms-replicationconfig.json", @@ -706,6 +707,7 @@ "aws-kinesisfirehose-deliverystream.json", "aws-cognito-userpoolusertogroupattachment.json", "aws-imagebuilder-component.json", + "aws-ses-configurationseteventdestination.json", "aws-glue-connection.json", "aws-appmesh-route.json", "aws-iam-group.json", @@ -776,6 +778,7 @@ "aws-elasticache-serverlesscache.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-appmesh-gatewayroute.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-ec2-transitgatewaymulticastdomainassociation.json", "aws-s3outposts-endpoint.json", @@ -852,7 +855,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1129,7 +1131,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ses-configurationseteventdestination.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ses-configurationseteventdestination.json deleted file mode 100644 index 2346a687ae..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ses-configurationseteventdestination.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfigurationSetName" - ], - "definitions": { - "CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DimensionConfiguration" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "type": "string" - }, - "DimensionName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_:-]{1,256}$", - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DimensionValueSource", - "DefaultDimensionValue", - "DimensionName" - ], - "type": "object" - }, - "EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{0,64}$", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "type": "object" - }, - "SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "maxLength": 1024, - "minLength": 36, - "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$", - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSetEventDestination" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:UpdateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/EventDestination" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSetEventDestination" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py index e1ca7899dd..b7127b1747 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -888,7 +888,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1194,7 +1193,6 @@ "aws-ecr-registrypolicy.json", "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py index 9e3a5caf0f..f184fc31c2 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -798,6 +798,7 @@ "aws-shield-proactiveengagement.json", "aws-apigateway-basepathmapping.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dms-replicationconfig.json", @@ -848,7 +849,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -874,6 +874,7 @@ "aws-pcaconnectorad-directoryregistration.json", "aws-sagemaker-coderepository.json", "aws-imagebuilder-component.json", + "aws-ses-configurationseteventdestination.json", "aws-glue-connection.json", "aws-appmesh-route.json", "aws-iam-group.json", @@ -940,6 +941,7 @@ "aws-sso-permissionset.json", "aws-glue-job.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", + "aws-route53-hostedzone.json", "aws-eks-podidentityassociation.json", "aws-resourceexplorer2-index.json", "aws-glue-table.json", @@ -969,6 +971,7 @@ "aws-networkmanager-transitgatewayroutetableattachment.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1076,7 +1079,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", @@ -1170,6 +1172,7 @@ "aws-glue-trigger.json", "aws-globalaccelerator-listener.json", "aws-verifiedpermissions-policystore.json", + "aws-signer-signingprofile.json", "aws-ec2-vpcpeeringconnection.json", "aws-sns-topicpolicy.json", "aws-mwaa-environment.json", @@ -1452,7 +1455,6 @@ "aws-redshift-scheduledaction.json", "aws-rds-dbsecuritygroup.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", @@ -1468,6 +1470,7 @@ "aws-cloudformation-stack.json", "aws-resourcegroups-group.json", "aws-cloudformation-resourcedefaultversion.json", + "aws-signer-profilepermission.json", "aws-backup-restoretestingplan.json", "aws-ec2-ipam.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-route53-hostedzone.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-route53-hostedzone.json deleted file mode 100644 index 7386006f1a..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-route53-hostedzone.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" - }, - "HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::Logs::LogGroup" - }, - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "format": "AWS::EC2::VPC.Id", - "relationshipRef": { - "propertyPath": "/properties/VpcId", - "typeName": "AWS::EC2::VPC" - }, - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "route53:CreateHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:ChangeTagsForResource", - "route53:GetChange", - "route53:AssociateVPCWithHostedZone", - "ec2:DescribeVpcs" - ] - }, - "delete": { - "permissions": [ - "route53:DeleteHostedZone", - "route53:DeleteQueryLoggingConfig", - "route53:ListQueryLoggingConfigs", - "route53:GetChange" - ] - }, - "list": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListHostedZones", - "route53:ListHostedZonesByName", - "route53:ListQueryLoggingConfigs", - "route53:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListTagsForResource", - "route53:ListQueryLoggingConfigs" - ] - }, - "update": { - "permissions": [ - "route53:GetChange", - "route53:ListTagsForResource", - "route53:UpdateHostedZoneComment", - "route53:ChangeTagsForResource", - "route53:AssociateVPCWithHostedZone", - "route53:DisassociateVPCFromHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:DeleteQueryLoggingConfig", - "ec2:DescribeVpcs" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/HostedZoneConfig" - }, - "HostedZoneTags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostedZoneTag" - }, - "type": "array", - "uniqueItems": true - }, - "Id": { - "type": "string" - }, - "Name": { - "maxLength": 1024, - "type": "string" - }, - "NameServers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/QueryLoggingConfig" - }, - "VPCs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VPC" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/Name": "$join([Name, \".\"])" - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/NameServers" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git", - "typeName": "AWS::Route53::HostedZone" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationseteventdestination.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationseteventdestination.json deleted file mode 100644 index 2346a687ae..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationseteventdestination.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfigurationSetName" - ], - "definitions": { - "CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DimensionConfiguration" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "type": "string" - }, - "DimensionName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_:-]{1,256}$", - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DimensionValueSource", - "DefaultDimensionValue", - "DimensionName" - ], - "type": "object" - }, - "EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{0,64}$", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "type": "object" - }, - "SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "maxLength": 1024, - "minLength": 36, - "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$", - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSetEventDestination" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:UpdateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/EventDestination" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSetEventDestination" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-signer-profilepermission.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-signer-profilepermission.json deleted file mode 100644 index 0f8d81fad7..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-signer-profilepermission.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ProfileName", - "/properties/Action", - "/properties/Principal", - "/properties/StatementId", - "/properties/ProfileVersion" - ], - "handlers": { - "create": { - "permissions": [ - "signer:AddProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "delete": { - "permissions": [ - "signer:RemoveProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "ProfileName": { - "$ref": "resource-schema.json#/properties/ProfileName" - }, - "StatementId": { - "$ref": "resource-schema.json#/properties/StatementId" - } - } - }, - "permissions": [ - "signer:ListProfilePermissions", - "signer:GetSigningProfile" - ] - }, - "read": { - "permissions": [ - "signer:ListProfilePermissions" - ] - } - }, - "primaryIdentifier": [ - "/properties/StatementId", - "/properties/ProfileName" - ], - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "ProfileName", - "Action", - "Principal", - "StatementId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::ProfilePermission" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-signer-signingprofile.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-signer-signingprofile.json deleted file mode 100644 index 8cfdc438f6..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-signer-signingprofile.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ProfileName" - ], - [ - "/properties/ProfileVersionArn" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PlatformId", - "/properties/SignatureValidityPeriod" - ], - "definitions": { - "Arn": { - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "PlatformId": { - "enum": [ - "AWSLambda-SHA384-ECDSA", - "Notation-OCI-SHA384-ECDSA" - ], - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "DAYS", - "MONTHS", - "YEARS" - ], - "type": "string" - }, - "Value": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 127, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "signer:PutSigningProfile", - "signer:TagResource" - ] - }, - "delete": { - "permissions": [ - "signer:CancelSigningProfile", - "signer:GetSigningProfile" - ] - }, - "list": { - "permissions": [ - "signer:ListSigningProfiles" - ] - }, - "read": { - "permissions": [ - "signer:GetSigningProfile" - ] - }, - "update": { - "permissions": [ - "signer:TagResource", - "signer:UntagResource", - "signer:GetSigningProfile" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "PlatformId": { - "$ref": "#/definitions/PlatformId" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "$ref": "#/definitions/ProfileVersion" - }, - "ProfileVersionArn": { - "$ref": "#/definitions/Arn" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ProfileName", - "/properties/ProfileVersion", - "/properties/Arn", - "/properties/ProfileVersionArn" - ], - "required": [ - "PlatformId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::SigningProfile" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py index 3d269b77ab..21f9a55ab6 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -39,6 +39,7 @@ "AWS::MediaLive::Channel", "AWS::CloudFront::ContinuousDeploymentPolicy", "AWS::QuickSight::Analysis", + "AWS::Bedrock::GuardrailVersion", "AWS::ECR::ReplicationConfiguration", "AWS::AppConfig::ExtensionAssociation", "AWS::VpcLattice::Service", @@ -493,6 +494,7 @@ "AWS::EMRServerless::Application", "AWS::EC2::Host", "AWS::Lambda::CodeSigningConfig", + "AWS::Bedrock::Guardrail", "AWS::SystemsManagerSAP::Application", "AWS::DMS::ReplicationTask", "AWS::EC2::RouteTable", @@ -997,6 +999,7 @@ "aws-medialive-channel.json", "aws-cloudfront-continuousdeploymentpolicy.json", "aws-quicksight-analysis.json", + "aws-bedrock-guardrailversion.json", "aws-ecr-replicationconfiguration.json", "aws-appconfig-extensionassociation.json", "aws-vpclattice-service.json", @@ -1192,6 +1195,7 @@ "aws-gamelift-location.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1387,6 +1391,7 @@ "aws-appsync-apikey.json", "aws-cloudformation-typeactivation.json", "aws-groundstation-dataflowendpointgroup.json", + "aws-location-map.json", "aws-acmpca-certificateauthorityactivation.json", "aws-guardduty-threatintelset.json", "aws-kinesisvideo-signalingchannel.json", @@ -1433,6 +1438,7 @@ "aws-emrserverless-application.json", "aws-ec2-host.json", "aws-lambda-codesigningconfig.json", + "aws-bedrock-guardrail.json", "aws-systemsmanagersap-application.json", "aws-dms-replicationtask.json", "aws-ec2-routetable.json", @@ -1516,6 +1522,7 @@ "aws-securitylake-datalake.json", "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-chatbot-slackchannelconfiguration.json", @@ -1527,6 +1534,7 @@ "aws-iot-domainconfiguration.json", "aws-sagemaker-endpoint.json", "aws-elasticloadbalancingv2-truststorerevocation.json", + "aws-networkfirewall-firewall.json", "aws-eventschemas-schema.json", "aws-m2-application.json", "aws-ses-template.json", @@ -1795,7 +1803,6 @@ "aws-rds-dbsecuritygroup.json", "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", @@ -1848,7 +1855,6 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", - "aws-elasticbeanstalk-environment.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", "aws-mediapackage-packaginggroup.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticbeanstalk-environment.json new file mode 100644 index 0000000000..dd50c329e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticbeanstalk-environment.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CNAMEPrefix", + "/properties/EnvironmentName", + "/properties/ApplicationName", + "/properties/SolutionStackName", + "/properties/Tier/Name", + "/properties/Tier/Type" + ], + "definitions": { + "OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 120 + }, + "delete": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:TerminateEnvironment" + ], + "timeoutInMinutes": 210 + }, + "list": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:DescribeConfigurationSettings", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:UpdateEnvironment", + "elasticbeanstalk:UpdateTagsForResource", + "elasticbeanstalk:AssociateEnvironmentOperationsRole", + "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 300 + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentName" + ], + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EndpointURL": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OptionSetting" + }, + "type": "array", + "uniqueItems": false + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/EndpointURL" + ], + "required": [ + "ApplicationName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ElasticBeanstalk::Environment", + "writeOnlyProperties": [ + "/properties/TemplateName", + "/properties/OptionSettings", + "/properties/OptionSettings/*/OptionName", + "/properties/OptionSettings/*/ResourceName", + "/properties/OptionSettings/*/Namespace", + "/properties/OptionSettings/*/Value" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-location-map.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-location-map.json deleted file mode 100644 index d96fddd0f5..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-location-map.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Configuration", - "/properties/MapName" - ], - "definitions": { - "MapConfiguration": { - "additionalProperties": false, - "properties": { - "CustomLayers": { - "items": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "maxItems": 10, - "type": "array" - }, - "PoliticalView": { - "maxLength": 3, - "minLength": 3, - "pattern": "^[A-Z]{3}$", - "type": "string" - }, - "Style": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "PricingPlan": { - "enum": [ - "RequestBasedUsage" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z+-=._:/]+$": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 _=@:.+-/]*$", - "type": "string" - } - }, - "type": "object" - }, - "iso8601UTC": { - "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "geo:CreateMap", - "geo:DescribeMap", - "geo:TagResource", - "geo:UntagResource" - ] - }, - "delete": { - "permissions": [ - "geo:DeleteMap", - "geo:DescribeMap" - ] - }, - "list": { - "permissions": [ - "geo:ListMaps" - ] - }, - "read": { - "permissions": [ - "geo:DescribeMap" - ] - }, - "update": { - "permissions": [ - "geo:CreateMap", - "geo:DescribeMap", - "geo:TagResource", - "geo:UntagResource", - "geo:UpdateMap" - ] - } - }, - "primaryIdentifier": [ - "/properties/MapName" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/MapConfiguration" - }, - "CreateTime": { - "$ref": "#/definitions/iso8601UTC" - }, - "Description": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - }, - "MapArn": { - "maxLength": 1600, - "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$", - "type": "string" - }, - "MapName": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[-._\\w]+$", - "type": "string" - }, - "PricingPlan": { - "$ref": "#/definitions/PricingPlan" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "UpdateTime": { - "$ref": "#/definitions/iso8601UTC" - } - }, - "readOnlyProperties": [ - "/properties/CreateTime", - "/properties/Arn", - "/properties/MapArn", - "/properties/UpdateTime" - ], - "required": [ - "Configuration", - "MapName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Location::Map" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-apigateway-domainname.json index 1eb496645f..8e795268ca 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-apigateway-domainname.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-apigateway-domainname.json @@ -119,5 +119,12 @@ "/properties/DistributionHostedZoneId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "typeName": "AWS::ApiGateway::DomainName" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-insightrule.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-insightrule.json index 7afe1f60bd..d3043b27e5 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-insightrule.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-insightrule.json @@ -5,8 +5,18 @@ ], "definitions": { "Tags": { - "additionalProperties": false, - "type": "object" + "items": { + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" } }, "primaryIdentifier": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-metricstream.json index ef3f17574c..61668976b0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-metricstream.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudwatch-metricstream.json @@ -1,6 +1,6 @@ { "additionalProperties": false, - "anyOf": [ + "allOf": [ { "required": [ "FirehoseArn", @@ -8,26 +8,12 @@ "OutputFormat" ] }, - { - "allOf": [ - { - "required": [ - "FirehoseArn", - "RoleArn", - "OutputFormat" - ] - } - ] - }, { "oneOf": [ + {}, { "required": [ - "IncludeFilters" - ] - }, - { - "required": [ + "IncludeFilters", "ExcludeFilters" ] } @@ -117,7 +103,7 @@ }, "Value": { "maxLength": 256, - "minLength": 1, + "minLength": 0, "type": "string" } }, @@ -261,11 +247,6 @@ "/properties/LastUpdateDate", "/properties/State" ], - "required": [ - "FirehoseArn", - "RoleArn", - "OutputFormat" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", "taggable": true, "typeName": "AWS::CloudWatch::MetricStream", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-eks-cluster.json index f90589ca3b..d2d12d1fbe 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-eks-cluster.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-eks-cluster.json @@ -6,7 +6,8 @@ "/properties/KubernetesNetworkConfig", "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/Name", - "/properties/RoleArn" + "/properties/RoleArn", + "/properties/BootstrapSelfManagedAddons" ], "definitions": { "AccessConfig": { @@ -267,6 +268,9 @@ "Arn": { "type": "string" }, + "BootstrapSelfManagedAddons": { + "type": "boolean" + }, "CertificateAuthorityData": { "type": "string" }, @@ -351,6 +355,7 @@ }, "typeName": "AWS::EKS::Cluster", "writeOnlyProperties": [ - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/BootstrapSelfManagedAddons" ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-securityconfiguration.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-securityconfiguration.json index aec2fca5b3..bf3d46367a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-securityconfiguration.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-securityconfiguration.json @@ -44,8 +44,23 @@ "type": "object" }, "S3Encryptions": { - "additionalProperties": false, - "type": "object" + "items": { + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "enum": [ + "DISABLED", + "SSE-KMS", + "SSE-S3" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" } }, "primaryIdentifier": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json index a4d0166d67..8064670942 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json @@ -67,8 +67,7 @@ "type": "object" }, "Protocol": { - "additionalProperties": false, - "type": "object" + "type": "string" }, "ProtocolDetails": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-user.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-user.json index ab9a954d95..7ca100446b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-user.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-user.json @@ -48,8 +48,7 @@ "type": "object" }, "SshPublicKey": { - "additionalProperties": false, - "type": "object" + "type": "string" }, "Tag": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py index 6c2c6b299c..2d0d5aa951 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -1140,6 +1140,7 @@ "aws-wafregional-geomatchset.json", "aws-s3-accessgrantslocation.json", "aws-robomaker-robot.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-servicecatalog-portfolioprincipalassociation.json", "aws-ram-resourceshare.json", @@ -1219,7 +1220,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1349,6 +1349,7 @@ "aws-sso-permissionset.json", "aws-glue-job.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", + "aws-route53-hostedzone.json", "aws-eks-podidentityassociation.json", "aws-resourceexplorer2-index.json", "aws-glue-table.json", @@ -1391,6 +1392,7 @@ "aws-networkmanager-transitgatewayroutetableattachment.json", "aws-autoscaling-launchconfiguration.json", "aws-apigateway-clientcertificate.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-logs-loganomalydetector.json", "aws-waf-ipset.json", @@ -1559,7 +1561,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", @@ -1672,6 +1673,7 @@ "aws-waf-bytematchset.json", "aws-amplifyuibuilder-theme.json", "aws-neptune-dbclusterparametergroup.json", + "aws-emrserverless-application.json", "aws-ec2-host.json", "aws-forecast-datasetgroup.json", "aws-lambda-codesigningconfig.json", @@ -1785,6 +1787,7 @@ "aws-frauddetector-eventtype.json", "aws-sagemaker-endpoint.json", "aws-elasticloadbalancingv2-truststorerevocation.json", + "aws-networkfirewall-firewall.json", "aws-eventschemas-schema.json", "aws-entityresolution-matchingworkflow.json", "aws-m2-application.json", @@ -2111,7 +2114,6 @@ "aws-apigatewayv2-routeresponse.json", "aws-codeartifact-packagegroup.json", "aws-quicksight-topic.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-location-geofencecollection.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json deleted file mode 100644 index 1bea9dcdc3..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-emrserverless-application.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[-0-9a-zA-Z]+", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9 /_.:=+@-]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[A-Za-z0-9 /_.:=+@-]*$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt", - "emr-serverless:CreateApplication", - "emr-serverless:TagResource", - "emr-serverless:GetApplication", - "iam:CreateServiceLinkedRole", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer" - ] - }, - "delete": { - "permissions": [ - "emr-serverless:DeleteApplication", - "emr-serverless:GetApplication" - ] - }, - "list": { - "permissions": [ - "emr-serverless:ListApplications" - ] - }, - "read": { - "permissions": [ - "emr-serverless:GetApplication" - ] - }, - "update": { - "permissions": [ - "emr-serverless:UpdateApplication", - "emr-serverless:TagResource", - "emr-serverless:UntagResource", - "emr-serverless:GetApplication", - "ec2:CreateNetworkInterface", - "ecr:BatchGetImage", - "ecr:DescribeImages", - "ecr:GetDownloadUrlForLayer", - "kms:Create*", - "kms:Describe*", - "kms:Enable*", - "kms:List*", - "kms:Put*", - "kms:Update*", - "kms:Revoke*", - "kms:Disable*", - "kms:Get*", - "kms:Delete*", - "kms:ScheduleKeyDeletion", - "kms:CancelKeyDeletion", - "kms:GenerateDataKey", - "kms:TagResource", - "kms:UntagResource", - "kms:Decrypt" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-networkfirewall-firewall.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-networkfirewall-firewall.json deleted file mode 100644 index 233e3f6a0d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-networkfirewall-firewall.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/VpcId", - "/properties/FirewallName" - ], - "definitions": { - "EndpointId": { - "type": "string" - }, - "ResourceArn": { - "maxLength": 256, - "minLength": 1, - "pattern": "^arn:aws.*$", - "type": "string" - }, - "SubnetMapping": { - "additionalProperties": false, - "properties": { - "IPAddressType": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "iam:CreateServiceLinkedRole", - "network-firewall:CreateFirewall", - "network-firewall:DescribeFirewallPolicy", - "network-firewall:DescribeRuleGroup", - "network-firewall:TagResource", - "network-firewall:AssociateSubnets", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:DescribeFirewall" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVpcEndpoints", - "ec2:DescribeRouteTables", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "network-firewall:DeleteFirewall", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - }, - "list": { - "permissions": [ - "network-firewall:ListFirewalls" - ] - }, - "read": { - "permissions": [ - "network-firewall:DescribeFirewall", - "network-firewall:ListTagsForResources" - ] - }, - "update": { - "permissions": [ - "network-firewall:AssociateSubnets", - "network-firewall:DisassociateSubnets", - "network-firewall:UpdateFirewallDescription", - "network-firewall:UpdateFirewallDeleteProtection", - "network-firewall:UpdateSubnetChangeProtection", - "network-firewall:UpdateFirewallPolicyChangeProtection", - "network-firewall:AssociateFirewallPolicy", - "network-firewall:TagResource", - "network-firewall:UntagResource", - "network-firewall:DescribeFirewall" - ] - } - }, - "primaryIdentifier": [ - "/properties/FirewallArn" - ], - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "maxLength": 512, - "pattern": "^.*$", - "type": "string" - }, - "EndpointIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EndpointId" - }, - "type": "array" - }, - "FirewallArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallId": { - "maxLength": 36, - "minLength": 36, - "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$", - "type": "string" - }, - "FirewallName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "FirewallPolicyArn": { - "$ref": "#/definitions/ResourceArn" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 128, - "minLength": 1, - "pattern": "^vpc-[0-9a-f]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FirewallArn", - "/properties/FirewallId", - "/properties/EndpointIds" - ], - "required": [ - "FirewallName", - "FirewallPolicyArn", - "VpcId", - "SubnetMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::NetworkFirewall::Firewall" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-route53-hostedzone.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-route53-hostedzone.json deleted file mode 100644 index 7386006f1a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-route53-hostedzone.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "maxLength": 256, - "type": "string" - } - }, - "type": "object" - }, - "HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::Logs::LogGroup" - }, - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "format": "AWS::EC2::VPC.Id", - "relationshipRef": { - "propertyPath": "/properties/VpcId", - "typeName": "AWS::EC2::VPC" - }, - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "route53:CreateHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:ChangeTagsForResource", - "route53:GetChange", - "route53:AssociateVPCWithHostedZone", - "ec2:DescribeVpcs" - ] - }, - "delete": { - "permissions": [ - "route53:DeleteHostedZone", - "route53:DeleteQueryLoggingConfig", - "route53:ListQueryLoggingConfigs", - "route53:GetChange" - ] - }, - "list": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListHostedZones", - "route53:ListHostedZonesByName", - "route53:ListQueryLoggingConfigs", - "route53:ListTagsForResource" - ] - }, - "read": { - "permissions": [ - "route53:GetHostedZone", - "route53:ListTagsForResource", - "route53:ListQueryLoggingConfigs" - ] - }, - "update": { - "permissions": [ - "route53:GetChange", - "route53:ListTagsForResource", - "route53:UpdateHostedZoneComment", - "route53:ChangeTagsForResource", - "route53:AssociateVPCWithHostedZone", - "route53:DisassociateVPCFromHostedZone", - "route53:CreateQueryLoggingConfig", - "route53:DeleteQueryLoggingConfig", - "ec2:DescribeVpcs" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/HostedZoneConfig" - }, - "HostedZoneTags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostedZoneTag" - }, - "type": "array", - "uniqueItems": true - }, - "Id": { - "type": "string" - }, - "Name": { - "maxLength": 1024, - "type": "string" - }, - "NameServers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/QueryLoggingConfig" - }, - "VPCs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VPC" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/Name": "$join([Name, \".\"])" - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/NameServers" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git", - "typeName": "AWS::Route53::HostedZone" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py index 8fe867a174..2e99fa569b 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py @@ -702,7 +702,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-autoscaling-autoscalinggroup.json", "aws-wafv2-regexpatternset.json", @@ -854,7 +853,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", @@ -1128,7 +1126,6 @@ "aws-lakeformation-datalakesettings.json", "aws-greengrassv2-deployment.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-ssm-parameter.json", "aws-apigatewayv2-apigatewaymanagedoverrides.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py index 5724cc18e7..0799fa21ca 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py @@ -669,6 +669,7 @@ "AWS::DataSync::LocationObjectStorage", "AWS::ECS::CapacityProvider", "AWS::ElastiCache::CacheCluster", + "AWS::SageMaker::ModelCard", "AWS::Logs::Destination", "AWS::EKS::Nodegroup", "AWS::Organizations::OrganizationalUnit", @@ -786,6 +787,7 @@ "aws-glue-partition.json", "aws-ssm-resourcepolicy.json", "aws-s3-accessgrantslocation.json", + "aws-guardduty-filter.json", "aws-ecs-service.json", "aws-ram-resourceshare.json", "aws-dynamodb-table.json", @@ -802,6 +804,7 @@ "aws-s3outposts-accesspoint.json", "aws-ec2-ipampoolcidr.json", "aws-iot-topicruledestination.json", + "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-iotevents-input.json", "aws-ec2-networkacl.json", @@ -826,7 +829,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-cognito-userpooldomain.json", "aws-autoscaling-autoscalinggroup.json", @@ -845,6 +847,7 @@ "aws-cognito-userpoolusertogroupattachment.json", "aws-sagemaker-coderepository.json", "aws-imagebuilder-component.json", + "aws-ses-configurationseteventdestination.json", "aws-glue-connection.json", "aws-appmesh-route.json", "aws-organizations-resourcepolicy.json", @@ -922,6 +925,7 @@ "aws-sagemaker-endpointconfig.json", "aws-appmesh-gatewayroute.json", "aws-apigateway-apikey.json", + "aws-kinesisanalyticsv2-application.json", "aws-lambda-alias.json", "aws-waf-ipset.json", "aws-iottwinmaker-workspace.json", @@ -1021,7 +1025,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -1109,6 +1112,7 @@ "aws-organizations-policy.json", "aws-glue-trigger.json", "aws-verifiedpermissions-policystore.json", + "aws-signer-signingprofile.json", "aws-ec2-vpcpeeringconnection.json", "aws-sns-topicpolicy.json", "aws-networkfirewall-rulegroup.json", @@ -1291,6 +1295,7 @@ "aws-glue-workflow.json", "aws-iot-accountauditconfiguration.json", "aws-ec2-prefixlist.json", + "aws-ec2-instance.json", "aws-networkmanager-device.json", "aws-appmesh-virtualgateway.json", "aws-waf-sqlinjectionmatchset.json", @@ -1323,6 +1328,7 @@ "aws-datasync-locationobjectstorage.json", "aws-ecs-capacityprovider.json", "aws-elasticache-cachecluster.json", + "aws-sagemaker-modelcard.json", "aws-logs-destination.json", "aws-eks-nodegroup.json", "aws-organizations-organizationalunit.json", @@ -1339,7 +1345,6 @@ "aws-lakeformation-datalakesettings.json", "aws-greengrassv2-deployment.json", "aws-rds-dbsecuritygroup.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-location-geofencecollection.json", "aws-ssm-parameter.json", @@ -1351,6 +1356,7 @@ "aws-timestream-table.json", "aws-resourcegroups-group.json", "aws-cloudformation-resourcedefaultversion.json", + "aws-signer-profilepermission.json", "aws-greengrass-loggerdefinitionversion.json", "aws-quicksight-dashboard.json", "aws-ec2-ipam.json", @@ -1359,6 +1365,7 @@ "aws-connect-queue.json", "aws-quicksight-template.json", "aws-iam-accesskey.json", + "aws-rds-dbsubnetgroup.json", "aws-secretsmanager-secrettargetattachment.json", "aws-amazonmq-configuration.json", "aws-appconfig-deployment.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-instance.json deleted file mode 100644 index a2d88d7128..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-instance.json +++ /dev/null @@ -1,566 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ElasticGpuSpecifications", - "/properties/Ipv6Addresses", - "/properties/PlacementGroupName", - "/properties/HostResourceGroupArn", - "/properties/ImageId", - "/properties/CpuOptions", - "/properties/PrivateIpAddress", - "/properties/ElasticInferenceAccelerators", - "/properties/EnclaveOptions", - "/properties/HibernationOptions", - "/properties/KeyName", - "/properties/LicenseSpecifications", - "/properties/NetworkInterfaces", - "/properties/AvailabilityZone", - "/properties/SubnetId", - "/properties/LaunchTemplate", - "/properties/SecurityGroups", - "/properties/Ipv6AddressCount" - ], - "definitions": { - "AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/Ebs" - }, - "NoDevice": { - "$ref": "#/definitions/NoDevice" - }, - "VirtualName": { - "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "requiredXor": [ - "VirtualName", - "Ebs", - "NoDevice" - ], - "type": "object" - }, - "CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "integer" - }, - "ThreadsPerCore": { - "type": "integer" - } - }, - "type": "object" - }, - "CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "type": "string" - } - }, - "type": "object" - }, - "Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "integer" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociateCarrierIpAddress": { - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "NoDevice": { - "additionalProperties": false, - "type": "object" - }, - "PrivateDnsNameOptions": { - "additionalProperties": false, - "properties": { - "EnableResourceNameDnsAAAARecord": { - "type": "boolean" - }, - "EnableResourceNameDnsARecord": { - "type": "boolean" - }, - "HostnameType": { - "type": "string" - } - }, - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AssociationParameter" - }, - "type": "array", - "uniqueItems": false - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "VolumeId", - "Device" - ], - "type": "object" - } - }, - "dependentExcluded": { - "NetworkInterfaces": [ - "SubnetId" - ], - "SubnetId": [ - "NetworkInterfaces" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "enum": [ - "default", - "host" - ], - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/BlockDeviceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "CpuOptions": { - "$ref": "#/definitions/CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/ElasticGpuSpecification" - }, - "type": "array", - "uniqueItems": true - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/ElasticInferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "EnclaveOptions": { - "$ref": "#/definitions/EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": false - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/LicenseSpecification" - }, - "type": "array", - "uniqueItems": true - }, - "Monitoring": { - "type": "boolean" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array", - "uniqueItems": false - }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateDnsName": { - "type": "string" - }, - "PrivateDnsNameOptions": { - "$ref": "#/definitions/PrivateDnsNameOptions" - }, - "PrivateIp": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PropagateTagsToVolumeOnCreation": { - "type": "boolean" - }, - "PublicDnsName": { - "type": "string" - }, - "PublicIp": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/SsmAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Tenancy": { - "enum": [ - "dedicated", - "default", - "host" - ], - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/PublicIp", - "/properties/Id", - "/properties/PublicDnsName", - "/properties/PrivateDnsName", - "/properties/PrivateIp" - ], - "requiredXor": [ - "ImageId", - "LaunchTemplate" - ], - "typeName": "AWS::EC2::Instance" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-guardduty-filter.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-guardduty-filter.json deleted file mode 100644 index f165a9f94a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-guardduty-filter.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DetectorId", - "/properties/Name" - ], - "definitions": { - "Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Equals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "GreaterThan": { - "format": "int64", - "type": "integer" - }, - "GreaterThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Gt": { - "type": "integer" - }, - "Gte": { - "type": "integer" - }, - "LessThan": { - "format": "int64", - "type": "integer" - }, - "LessThanOrEqual": { - "format": "int64", - "type": "integer" - }, - "Lt": { - "type": "integer" - }, - "Lte": { - "type": "integer" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "NotEquals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "additionalProperties": false, - "patternProperties": { - "^.+$": { - "$ref": "#/definitions/Condition" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "guardduty:CreateFilter", - "guardduty:GetFilter", - "guardduty:TagResource" - ] - }, - "delete": { - "permissions": [ - "guardduty:ListDetectors", - "guardduty:ListFilters", - "guardduty:GetFilter", - "guardduty:DeleteFilter" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "DetectorId": { - "type": "string" - } - } - }, - "permissions": [ - "guardduty:ListFilters" - ] - }, - "read": { - "permissions": [ - "guardduty:GetFilter" - ] - }, - "update": { - "permissions": [ - "guardduty:UpdateFilter", - "guardduty:GetFilter", - "guardduty:ListFilters" - ] - } - }, - "primaryIdentifier": [ - "/properties/DetectorId", - "/properties/Name" - ], - "properties": { - "Action": { - "enum": [ - "ARCHIVE", - "NOOP" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "maxLength": 300, - "minLength": 1, - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/FindingCriteria" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Rank": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "required": [ - "FindingCriteria" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::GuardDuty::Filter" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-kinesisanalyticsv2-application.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-kinesisanalyticsv2-application.json deleted file mode 100644 index ef772ffd40..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-kinesisanalyticsv2-application.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationName", - "/properties/ApplicationMode" - ], - "definitions": { - "ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/CodeContent" - }, - "CodeContentType": { - "enum": [ - "PLAINTEXT", - "ZIPFILE" - ], - "type": "string" - } - }, - "required": [ - "CodeContentType", - "CodeContent" - ], - "type": "object" - }, - "ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/SqlApplicationConfiguration" - }, - "VpcConfigurations": { - "$ref": "#/definitions/VpcConfigurations" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "ApplicationMaintenanceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationMaintenanceWindowStartTime": { - "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$", - "type": "string" - } - }, - "required": [ - "ApplicationMaintenanceWindowStartTime" - ], - "type": "object" - }, - "ApplicationRestoreConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreType": { - "enum": [ - "SKIP_RESTORE_FROM_SNAPSHOT", - "RESTORE_FROM_LATEST_SNAPSHOT", - "RESTORE_FROM_CUSTOM_SNAPSHOT" - ], - "type": "string" - }, - "SnapshotName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ApplicationRestoreType" - ], - "type": "object" - }, - "ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "Arn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:.*$", - "type": "string" - }, - "CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "RecordRowDelimiter": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "type": "object" - }, - "CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 1, - "type": "integer" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "format": "int64", - "maximum": 9223372036854775807, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - }, - "TextContent": { - "maxLength": 102400, - "minLength": 1, - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "enum": [ - "DEPENDENCY_JAR", - "UDF" - ], - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "CustomArtifactsConfiguration": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomArtifactConfiguration" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - }, - "DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PropertyGroup" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/ParallelismConfiguration" - } - }, - "type": "object" - }, - "FlinkRunConfiguration": { - "additionalProperties": false, - "properties": { - "AllowNonRestoredState": { - "type": "boolean" - } - }, - "type": "object" - }, - "GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "$ref": "#/definitions/Arn" - } - }, - "type": "object" - }, - "Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/KinesisStreamsInput" - }, - "NamePrefix": { - "maxLength": 32, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - } - }, - "required": [ - "NamePrefix", - "InputSchema" - ], - "type": "object" - }, - "InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "maximum": 64, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/InputLambdaProcessor" - } - }, - "type": "object" - }, - "InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RecordColumn" - }, - "maxItems": 1000, - "type": "array", - "uniqueItems": false - }, - "RecordEncoding": { - "enum": [ - "UTF-8" - ], - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "maxLength": 65535, - "minLength": 1, - "pattern": "^(?=^\\$)(?=^\\S+$).*$", - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/JSONMappingParameters" - } - }, - "type": "object" - }, - "MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "GroupId": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "Version": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "enum": [ - "DEFAULT", - "CUSTOM" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - }, - "MetricsLevel": { - "enum": [ - "APPLICATION", - "OPERATOR", - "PARALLELISM", - "TASK" - ], - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "enum": [ - "CUSTOM", - "DEFAULT" - ], - "type": "string" - }, - "Parallelism": { - "minimum": 1, - "type": "integer" - }, - "ParallelismPerKPU": { - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "PropertyMap": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^.{1,2048}$": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "maxLength": 65535, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^-\\s<>&]*$", - "type": "string" - }, - "SqlType": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "SqlType", - "Name" - ], - "type": "object" - }, - "RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/MappingParameters" - }, - "RecordFormatType": { - "enum": [ - "CSV", - "JSON" - ], - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "RunConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationRestoreConfiguration": { - "$ref": "#/definitions/ApplicationRestoreConfiguration" - }, - "FlinkRunConfiguration": { - "$ref": "#/definitions/FlinkRunConfiguration" - } - }, - "type": "object" - }, - "S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9/!-_.*'()]+$", - "type": "string" - }, - "BucketARN": { - "$ref": "#/definitions/Arn" - } - }, - "required": [ - "BucketARN" - ], - "type": "object" - }, - "S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "$ref": "#/definitions/Arn" - }, - "FileKey": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "ObjectVersion": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Input" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "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" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "VpcConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcConfiguration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": false - }, - "ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "enum": [ - "DEBUG", - "INFO", - "WARN", - "ERROR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "kinesisanalytics:CreateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration" - ] - }, - "delete": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:DeleteApplication" - ] - }, - "list": { - "permissions": [ - "kinesisanalytics:ListApplications" - ] - }, - "read": { - "permissions": [ - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "kinesisanalytics:UpdateApplication", - "kinesisanalytics:DescribeApplication", - "kinesisanalytics:TagResource", - "kinesisanalytics:UntagResource", - "kinesisanalytics:AddApplicationVpcConfiguration", - "kinesisanalytics:DeleteApplicationVpcConfiguration", - "kinesisanalytics:UpdateApplicationMaintenanceConfiguration", - "kinesisanalytics:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/ApplicationName" - ], - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/ApplicationConfiguration" - }, - "ApplicationDescription": { - "default": "", - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ApplicationMaintenanceConfiguration": { - "$ref": "#/definitions/ApplicationMaintenanceConfiguration" - }, - "ApplicationMode": { - "enum": [ - "INTERACTIVE", - "STREAMING" - ], - "type": "string" - }, - "ApplicationName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_.-]+$", - "type": "string" - }, - "RunConfiguration": { - "$ref": "#/definitions/RunConfiguration" - }, - "RuntimeEnvironment": { - "enum": [ - "FLINK-1_11", - "FLINK-1_13", - "FLINK-1_15", - "FLINK-1_18", - "FLINK-1_6", - "FLINK-1_8", - "SQL-1_0", - "ZEPPELIN-FLINK-1_0", - "ZEPPELIN-FLINK-2_0", - "ZEPPELIN-FLINK-3_0" - ], - "type": "string" - }, - "ServiceExecutionRole": { - "$ref": "#/definitions/Arn" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesisanalyticsv2.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::KinesisAnalyticsV2::Application", - "writeOnlyProperties": [ - "/properties/RunConfiguration", - "/properties/ApplicationConfiguration/EnvironmentProperties", - "/properties/ApplicationConfiguration/ApplicationCodeConfiguration/CodeContent/ZipFileContent" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json index 06ef3e1140..62a3797fcd 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json @@ -308,6 +308,9 @@ "Engine": { "type": "string" }, + "EngineLifecycleSupport": { + "type": "string" + }, "EngineMode": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json deleted file mode 100644 index 6fdef85afc..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBSubnetGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "rds:CreateDBSubnetGroup", - "rds:DescribeDBSubnetGroups", - "rds:AddTagsToResource", - "rds:RemoveTagsFromResource", - "rds:ListTagsForResource" - ] - }, - "delete": { - "permissions": [ - "rds:DeleteDBSubnetGroup", - "rds:DescribeDBSubnetGroups", - "rds:ListTagsForResource" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBSubnetGroups" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBSubnetGroups", - "rds:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "rds:ModifyDBSubnetGroup", - "rds:DescribeDBSubnetGroups", - "rds:AddTagsToResource", - "rds:RemoveTagsFromResource", - "rds:ListTagsForResource" - ] - } - }, - "primaryIdentifier": [ - "/properties/DBSubnetGroupName" - ], - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "pattern": "^(?!default$)[a-zA-Z]{1}[a-zA-Z0-9-_\\.\\s]{0,254}$", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBSubnetGroup", - "writeOnlyProperties": [ - "/properties/SubnetIds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ses-configurationseteventdestination.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ses-configurationseteventdestination.json deleted file mode 100644 index 2346a687ae..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ses-configurationseteventdestination.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfigurationSetName" - ], - "definitions": { - "CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DimensionConfiguration" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "type": "string" - }, - "DimensionName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_:-]{1,256}$", - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DimensionValueSource", - "DefaultDimensionValue", - "DimensionName" - ], - "type": "object" - }, - "EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{0,64}$", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "type": "object" - }, - "SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "maxLength": 1024, - "minLength": 36, - "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$", - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSetEventDestination" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSetEventDestinations", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:UpdateConfigurationSetEventDestination", - "ses:GetConfigurationSetEventDestinations" - ] - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/EventDestination" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSetEventDestination" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-signer-profilepermission.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-signer-profilepermission.json deleted file mode 100644 index 0f8d81fad7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-signer-profilepermission.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ProfileName", - "/properties/Action", - "/properties/Principal", - "/properties/StatementId", - "/properties/ProfileVersion" - ], - "handlers": { - "create": { - "permissions": [ - "signer:AddProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "delete": { - "permissions": [ - "signer:RemoveProfilePermission", - "signer:ListProfilePermissions" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "ProfileName": { - "$ref": "resource-schema.json#/properties/ProfileName" - }, - "StatementId": { - "$ref": "resource-schema.json#/properties/StatementId" - } - } - }, - "permissions": [ - "signer:ListProfilePermissions", - "signer:GetSigningProfile" - ] - }, - "read": { - "permissions": [ - "signer:ListProfilePermissions" - ] - } - }, - "primaryIdentifier": [ - "/properties/StatementId", - "/properties/ProfileName" - ], - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "ProfileName", - "Action", - "Principal", - "StatementId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::ProfilePermission" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-signer-signingprofile.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-signer-signingprofile.json deleted file mode 100644 index 8cfdc438f6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-signer-signingprofile.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ProfileName" - ], - [ - "/properties/ProfileVersionArn" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PlatformId", - "/properties/SignatureValidityPeriod" - ], - "definitions": { - "Arn": { - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "PlatformId": { - "enum": [ - "AWSLambda-SHA384-ECDSA", - "Notation-OCI-SHA384-ECDSA" - ], - "type": "string" - }, - "ProfileVersion": { - "pattern": "^[0-9a-zA-Z]{10}$", - "type": "string" - }, - "SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "DAYS", - "MONTHS", - "YEARS" - ], - "type": "string" - }, - "Value": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 127, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "signer:PutSigningProfile", - "signer:TagResource" - ] - }, - "delete": { - "permissions": [ - "signer:CancelSigningProfile", - "signer:GetSigningProfile" - ] - }, - "list": { - "permissions": [ - "signer:ListSigningProfiles" - ] - }, - "read": { - "permissions": [ - "signer:GetSigningProfile" - ] - }, - "update": { - "permissions": [ - "signer:TagResource", - "signer:UntagResource", - "signer:GetSigningProfile" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "PlatformId": { - "$ref": "#/definitions/PlatformId" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "$ref": "#/definitions/ProfileVersion" - }, - "ProfileVersionArn": { - "$ref": "#/definitions/Arn" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ProfileName", - "/properties/ProfileVersion", - "/properties/Arn", - "/properties/ProfileVersionArn" - ], - "required": [ - "PlatformId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::Signer::SigningProfile" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py index 1c090030ae..b9c316d9ec 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -1002,7 +1002,6 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", - "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1279,7 +1278,6 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", - "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-config-organizationconformancepack.json", @@ -1719,7 +1717,6 @@ "aws-rds-dbsecuritygroup.json", "aws-mediapackage-channel.json", "aws-apigatewayv2-routeresponse.json", - "aws-cloudwatch-metricstream.json", "aws-sso-applicationassignment.json", "aws-dms-dataprovider.json", "aws-ssm-parameter.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-apigateway-domainname.json new file mode 100644 index 0000000000..1eb496645f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-apigateway-domainname.json @@ -0,0 +1,123 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:*" + ] + }, + "delete": { + "permissions": [ + "apigateway:*" + ] + }, + "list": { + "permissions": [ + "apigateway:*" + ] + }, + "read": { + "permissions": [ + "apigateway:*" + ] + }, + "update": { + "permissions": [ + "apigateway:*" + ] + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "CertificateArn": { + "type": "string" + }, + "DistributionDomainName": { + "type": "string" + }, + "DistributionHostedZoneId": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/MutualTlsAuthentication" + }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "RegionalDomainName": { + "type": "string" + }, + "RegionalHostedZoneId": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RegionalHostedZoneId", + "/properties/DistributionDomainName", + "/properties/RegionalDomainName", + "/properties/DistributionHostedZoneId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::ApiGateway::DomainName" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudwatch-metricstream.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudwatch-metricstream.json new file mode 100644 index 0000000000..ef3f17574c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudwatch-metricstream.json @@ -0,0 +1,275 @@ +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + }, + { + "allOf": [ + { + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "IncludeFilters" + ] + }, + { + "required": [ + "ExcludeFilters" + ] + } + ] + } + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "MetricNames": { + "items": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "maxItems": 999, + "type": "array" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "MetricStreamStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalStatistics": { + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "IncludeMetrics": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsMetric" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "AdditionalStatistics", + "IncludeMetrics" + ], + "type": "object" + }, + "MetricStreamStatisticsMetric": { + "additionalProperties": false, + "properties": { + "MetricName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Namespace": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace" + ], + "type": "object" + }, + "Tag": { + "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": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteMetricStream", + "cloudwatch:GetMetricStream" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListMetricStreams" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetMetricStream" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutMetricStream", + "cloudwatch:GetMetricStream", + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "CreationDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "FirehoseArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/MetricStreamFilter" + }, + "maxItems": 1000, + "type": "array", + "uniqueItems": true + }, + "IncludeLinkedAccountsMetrics": { + "type": "boolean" + }, + "LastUpdateDate": { + "anyOf": [ + { + "format": "date-time" + }, + { + "format": "timestamp" + } + ], + "type": "string" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "OutputFormat": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "State": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "StatisticsConfigurations": { + "items": { + "$ref": "#/definitions/MetricStreamStatisticsConfiguration" + }, + "maxItems": 100, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationDate", + "/properties/LastUpdateDate", + "/properties/State" + ], + "required": [ + "FirehoseArn", + "RoleArn", + "OutputFormat" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git", + "taggable": true, + "typeName": "AWS::CloudWatch::MetricStream", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-eks-cluster.json new file mode 100644 index 0000000000..f90589ca3b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-eks-cluster.json @@ -0,0 +1,356 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn" + ], + "definitions": { + "AccessConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationMode": { + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "type": "string" + }, + "BootstrapClusterCreatorAdminPermissions": { + "type": "boolean" + } + }, + "type": "object" + }, + "ClusterLogging": { + "additionalProperties": false, + "properties": { + "EnabledTypes": { + "$ref": "#/definitions/EnabledTypes" + } + }, + "type": "object" + }, + "ControlPlanePlacement": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + } + }, + "type": "object" + }, + "EnabledTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "type": "array" + }, + "EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/Provider" + }, + "Resources": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "IpFamily": { + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "ServiceIpv4Cidr": { + "type": "string" + }, + "ServiceIpv6Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "additionalProperties": false, + "properties": { + "ClusterLogging": { + "$ref": "#/definitions/ClusterLogging" + } + }, + "type": "object" + }, + "LoggingTypeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ], + "type": "string" + } + }, + "type": "object" + }, + "OutpostConfig": { + "additionalProperties": false, + "properties": { + "ControlPlaneInstanceType": { + "type": "string" + }, + "ControlPlanePlacement": { + "$ref": "#/definitions/ControlPlanePlacement" + }, + "OutpostArns": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OutpostArns", + "ControlPlaneInstanceType" + ], + "type": "object" + }, + "Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "EndpointPrivateAccess": { + "type": "boolean" + }, + "EndpointPublicAccess": { + "type": "boolean" + }, + "PublicAccessCidrs": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "minItems": 1, + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "minItems": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, + "Arn": { + "type": "string" + }, + "CertificateAuthorityData": { + "type": "string" + }, + "ClusterSecurityGroupId": { + "type": "string" + }, + "EncryptionConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 + }, + "type": "array" + }, + "EncryptionConfigKeyArn": { + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/KubernetesNetworkConfig" + }, + "Logging": { + "$ref": "#/definitions/Logging" + }, + "Name": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "type": "string" + }, + "OpenIdConnectIssuerUrl": { + "type": "string" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "Version": { + "pattern": "1\\.\\d\\d", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Cluster", + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py index 44b4d3ba63..8d87d313b2 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -1370,6 +1370,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1505,7 +1506,6 @@ "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", "aws-cognito-userpoolresourceserver.json", - "aws-rds-globalcluster.json", "aws-sagemaker-device.json", "aws-supportapp-accountalias.json", "aws-cloudformation-moduledefaultversion.json", @@ -1755,6 +1755,7 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", + "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-pinpoint-apnsvoipsandboxchannel.json", @@ -1999,6 +2000,7 @@ "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", "aws-customerprofiles-eventstream.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-lightsail-certificate.json", @@ -2454,7 +2456,6 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", - "aws-elasticbeanstalk-environment.json", "aws-proton-servicetemplate.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-elasticbeanstalk-environment.json new file mode 100644 index 0000000000..dd50c329e0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-elasticbeanstalk-environment.json @@ -0,0 +1,188 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CNAMEPrefix", + "/properties/EnvironmentName", + "/properties/ApplicationName", + "/properties/SolutionStackName", + "/properties/Tier/Name", + "/properties/Tier/Type" + ], + "definitions": { + "OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:CreateEnvironment", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 120 + }, + "delete": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:TerminateEnvironment" + ], + "timeoutInMinutes": 210 + }, + "list": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:DescribeConfigurationSettings", + "elasticbeanstalk:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "elasticbeanstalk:DescribeEnvironments", + "elasticbeanstalk:UpdateEnvironment", + "elasticbeanstalk:UpdateTagsForResource", + "elasticbeanstalk:AssociateEnvironmentOperationsRole", + "elasticbeanstalk:DisassociateEnvironmentOperationsRole", + "elasticbeanstalk:AddTags", + "elasticbeanstalk:ListTagsForResource", + "iam:PassRole" + ], + "timeoutInMinutes": 300 + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentName" + ], + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EndpointURL": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/OptionSetting" + }, + "type": "array", + "uniqueItems": false + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/EndpointURL" + ], + "required": [ + "ApplicationName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::ElasticBeanstalk::Environment", + "writeOnlyProperties": [ + "/properties/TemplateName", + "/properties/OptionSettings", + "/properties/OptionSettings/*/OptionName", + "/properties/OptionSettings/*/ResourceName", + "/properties/OptionSettings/*/Namespace", + "/properties/OptionSettings/*/Value" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json deleted file mode 100644 index 62a3797fcd..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json +++ /dev/null @@ -1,500 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-globalcluster.json new file mode 100644 index 0000000000..9cf0aaadab --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-globalcluster.json @@ -0,0 +1,99 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/GlobalClusterIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/StorageEncrypted", + "/properties/Engine" + ], + "handlers": { + "create": { + "permissions": [ + "rds:CreateGlobalCluster", + "rds:DescribeDBClusters", + "rds:DescribeGlobalClusters" + ] + }, + "delete": { + "permissions": [ + "rds:DescribeGlobalClusters", + "rds:DeleteGlobalCluster", + "rds:RemoveFromGlobalCluster", + "rds:DescribeDBClusters" + ] + }, + "list": { + "permissions": [ + "rds:DescribeGlobalClusters" + ] + }, + "read": { + "permissions": [ + "rds:DescribeGlobalClusters" + ] + }, + "update": { + "permissions": [ + "rds:ModifyGlobalCluster", + "rds:DescribeGlobalClusters" + ] + } + }, + "oneOf": [ + { + "required": [ + "SourceDBClusterIdentifier" + ] + }, + { + "required": [ + "Engine" + ] + } + ], + "primaryIdentifier": [ + "/properties/GlobalClusterIdentifier" + ], + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "enum": [ + "aurora", + "aurora-mysql", + "aurora-postgresql" + ], + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "oneOf": [ + { + "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" + }, + { + "pattern": "^(?=.{40,128}$)arn.*" + } + ], + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "propertyTransform": { + "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "typeName": "AWS::RDS::GlobalCluster" +}