diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index 0b9f0f1955..7cb630d1c5 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"cdb4593fcac967a7953bd030aff5027c\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1383612d56a5289c65603cfbf54a3991\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json index 593c853f29..8c2dd583e0 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"a636db11cda573b80a193d1950daf01f\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2a365ae641e56fb35a67a0ed5231fa98\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json index 011d77be8a..d0a17e6924 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"cea24b0c427407219e8f760663456f35\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0ba33cc3e70b115895632efbecc2b28a\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json index 81739cfe1a..eaf641e20a 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"681fd2d8b6330aeca935c764374a2726\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8986718b702e9e2d09f0001db5368d41\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json index df48cd7f73..6d0458441c 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"c7e06c53619d328d4bfed169e17e787d\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4e939fbab2f662b20c7409482e9e2a92\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json index 700457fd23..b3a32b1e63 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"cd84bd37640dc3808e3668c2c77f3698\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e907157a8ca67b1402c54c376cbb7fff\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json index c394ec69ce..ecbabd3143 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"78e34291d3489f56a1c675ff73532078\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8d288226e4cb9f4a796703e986834563\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json index 68abf9d1f3..488d6d75ea 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"276ccf3f88b109fe11c709338bf4c037\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ff4179c0c02f1a6704824e6fbc3f027d\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json index 398b52026d..0c8557b180 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"4a884012e9db2f3e4d935e3481b4152d\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9d92b0afdddb865d6bc15d3b041d5918\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json index 0c26664ea6..f9b5c41b4b 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"1b6db8a7463c1880245c48d36ee48d18\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ec4ebab8998c00b14a3dba56c569b704\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json index 065e26ef85..7cd7b18107 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"00976fa1666c3588090e907014d9df77\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7db6bb6e7a441afa1ebf9bb565fe4edd\"", "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 4797480efa..d710f4e042 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"19e62cbbcb12c9476c7c361a91e9b5af\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"209b3b282e6cb509fb8df925dafadb5a\"", "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 c8e39384a7..44f04605d5 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"c60388da72793e1fe81a7813489ce384\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ef0c238b7c6006665fc1667dfe51cea5\"", "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 336771fb3f..71003b2b4c 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"bbb5bf7f3370bceb7d1b4beaabcdc237\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"14a8df871738ef65156528f6b67fcf66\"", "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 20b175895a..80dcd36589 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"945f2716c9bb623904ef8f9fe2c59aff\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8861e59ade6b2218829bd64cb6837c1c\"", "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 3c3d5271fc..fec3d9f4c6 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"637da6fd0bd73a84088d0ffe95ad7944\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8aa0af611d664754264a5a798ef4ece0\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json index f6f32d3149..81ebea4117 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"62214cbc19458936b54ebb61d4d4634f\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6c712beea72bfcc5766ee823198f3b1e\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json index d44eafe289..332207add5 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"f1efaf438b464893f2f712091eded777\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"17013145160f73af417d6ace650b467d\"", "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 aa66e2df66..03affa7f25 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"b4d57c043d5d04470c4e15a1c7e49dd0\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f1562665370ee0f8d172668adcf5e090\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json index 126bc9c8ce..54c14da474 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"2f6277743c445621b3f576fb165b2510\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"03675416fb4a556ccf7347f5e4236c91\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json index 9ce9d01b16..8a1b72b1de 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"76314965ff35aae675eafe396a3facb6\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"495c12cf693ab5b7b045c438a67e3c77\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json index c62d80dafa..12869c3c79 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"b2eae20c61da6b4d8ebdef6c4bd527ab\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"69b3969df695182880ef8fea5b46b0fb\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json index 869afeacfc..87db10e17d 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"a3bd14fb83c750e6564b723b183a6913\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0f7de2fe999b9c26671852626b95164b\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json index ec390cadcf..c9ba1ee6af 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"cd296e7259e30b63c339cbd7f675c176\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0d052b0f00f4c74754843dd44d6d1f14\"", "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 c4a187eef1..bee5ab2124 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"c26c353a86643f2c7ac29579cdcab8b7\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"917933e7913edbf1eecd7d232e0c3f35\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json index cb7a976452..95cdacfee7 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"a7e55b6581b7ad705f5d937ba7516b37\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"17053fb0015512a5806bfab388f95375\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json index 02b37fb525..0dd64fa0b5 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"4e2bf40786a8d859c7f9e94732a2b1b2\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e3a6d8fa17efa69f5b5c9c86ed5cc7d9\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json index 5541959e22..a9e800bb46 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"38a0b24046fd479535d54dd78e44f8fe\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ddb90cd2101e4b6a4b82b658acbbd611\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} 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 4328c28566..0f949766a8 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -1219,7 +1219,6 @@ "aws-neptune-eventsubscription.json", "aws-cognito-identitypool.json", "aws-applicationautoscaling-scalabletarget.json", - "aws-location-apikey.json", "aws-appsync-domainnameapiassociation.json", "aws-guardduty-filter.json", "aws-apigateway-model.json", @@ -1406,6 +1405,7 @@ "aws-logs-delivery.json", "aws-redshift-clustersubnetgroup.json", "aws-glue-trigger.json", + "aws-ec2-verifiedaccessinstance.json", "aws-m2-environment.json", "aws-lookoutvision-project.json", "aws-networkmanager-sitetositevpnattachment.json", @@ -1557,7 +1557,6 @@ "aws-cloudfront-distribution.json", "aws-apigateway-clientcertificate.json", "aws-xray-resourcepolicy.json", - "aws-location-placeindex.json", "aws-iotwireless-wirelessdevice.json", "aws-s3-accessgrantslocation.json", "aws-cleanrooms-configuredtable.json", @@ -1727,7 +1726,6 @@ "aws-medialive-multiplexprogram.json", "aws-entityresolution-matchingworkflow.json", "aws-route53resolver-resolverconfig.json", - "aws-rds-dbsubnetgroup.json", "aws-connect-securitykey.json", "aws-route53-keysigningkey.json", "aws-iot-provisioningtemplate.json", @@ -1940,7 +1938,6 @@ "aws-cleanrooms-membership.json", "aws-lambda-function.json", "aws-mediapackage-originendpoint.json", - "aws-rds-dbinstance.json", "aws-sagemaker-modelpackage.json", "aws-qldb-stream.json", "aws-systemsmanagersap-application.json", @@ -2040,7 +2037,6 @@ "aws-datazone-groupprofile.json", "aws-aps-scraper.json", "aws-apigatewayv2-authorizer.json", - "aws-location-routecalculator.json", "aws-ssm-maintenancewindowtask.json", "aws-cleanrooms-collaboration.json", "aws-cassandra-keyspace.json", @@ -2359,7 +2355,6 @@ "aws-rolesanywhere-profile.json", "aws-sso-application.json", "aws-mediaconnect-flow.json", - "aws-rds-dbcluster.json", "aws-sagemaker-space.json", "aws-cloudformation-publictypeversion.json", "aws-servicecatalog-stacksetconstraint.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-verifiedaccessinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-verifiedaccessinstance.json deleted file mode 100644 index fa28dfe1a3..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-verifiedaccessinstance.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "VerifiedAccessLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "IncludeTrustContext": { - "type": "boolean" - }, - "KinesisDataFirehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "LogVersion": { - "type": "string" - }, - "S3": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketOwner": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "VerifiedAccessTrustProvider": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceTrustProviderType": { - "type": "string" - }, - "TrustProviderType": { - "type": "string" - }, - "UserTrustProviderType": { - "type": "string" - }, - "VerifiedAccessTrustProviderId": { - "type": "string" - } - }, - "type": "object" - }, - "VerifiedAccessTrustProviderId": { - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVerifiedAccessInstance", - "ec2:AttachVerifiedAccessTrustProvider", - "ec2:ModifyVerifiedAccessInstanceLoggingConfiguration", - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:CreateTags", - "ec2:DescribeTags", - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:UpdateLogDelivery", - "logs:PutDestination", - "logs:DeleteLogDelivery", - "logs:ListLogDeliveries", - "logs:PutLogEvents", - "logs:DescribeLogStreams", - "s3:listBuckets", - "s3:PutObject", - "s3:GetBucketPolicy", - "s3:PutBucketPolicy", - "logs:DescribeLogGroups", - "logs:PutResourcePolicy", - "firehose:TagDeliveryStream", - "logs:DescribeResourcePolicies", - "iam:CreateServiceLinkedRole", - "verified-access:AllowVerifiedAccess" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVerifiedAccessInstance", - "ec2:DeleteTags", - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:DetachVerifiedAccessTrustProvider", - "ec2:GetVerifiedAccessGroupPolicy", - "ec2:DescribeTags", - "logs:ListLogDeliveries", - "logs:GetLogDelivery", - "logs:DeleteLogDelivery" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeTags", - "logs:ListLogDeliveries", - "logs:GetLogDelivery" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:DescribeTags", - "logs:GetLogDelivery", - "logs:ListLogDeliveries" - ] - }, - "update": { - "permissions": [ - "ec2:ModifyVerifiedAccessInstance", - "ec2:ModifyVerifiedAccessInstanceLoggingConfiguration", - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:DescribeTags", - "ec2:AttachVerifiedAccessTrustProvider", - "ec2:DetachVerifiedAccessTrustProvider", - "ec2:DeleteTags", - "ec2:CreateTags", - "ec2:DescribeTags", - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "logs:UpdateLogDelivery", - "logs:DeleteLogDelivery", - "logs:PutDestination", - "logs:PutLogEvents", - "logs:DescribeLogStreams", - "s3:listBuckets", - "s3:PutObject", - "s3:GetBucketPolicy", - "s3:PutBucketPolicy", - "logs:DescribeLogGroups", - "logs:PutResourcePolicy", - "firehose:TagDeliveryStream", - "iam:CreateServiceLinkedRole", - "logs:DescribeResourcePolicies" - ] - } - }, - "primaryIdentifier": [ - "/properties/VerifiedAccessInstanceId" - ], - "properties": { - "CreationTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FipsEnabled": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "LoggingConfigurations": { - "$ref": "#/definitions/VerifiedAccessLogs" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VerifiedAccessInstanceId": { - "type": "string" - }, - "VerifiedAccessTrustProviderIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VerifiedAccessTrustProviderId" - }, - "type": "array", - "uniqueItems": true - }, - "VerifiedAccessTrustProviders": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VerifiedAccessTrustProvider" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/VerifiedAccessInstanceId", - "/properties/CreationTime", - "/properties/LastUpdatedTime" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-verified-access.aws-ec2-verifiedaccessinstance", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VerifiedAccessInstance" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-apikey.json new file mode 100644 index 0000000000..b41c88be08 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-apikey.json @@ -0,0 +1,226 @@ +{ + "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": { + "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$", + "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_northeast_1/aws-location-placeindex.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-placeindex.json new file mode 100644 index 0000000000..2539ab0ed2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-placeindex.json @@ -0,0 +1,174 @@ +{ + "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": { + "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$", + "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_northeast_1/aws-location-routecalculator.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-routecalculator.json new file mode 100644 index 0000000000..642fc069ed --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-routecalculator.json @@ -0,0 +1,155 @@ +{ + "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": { + "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$", + "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_northeast_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..62a3797fcd --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbcluster.json @@ -0,0 +1,500 @@ +{ + "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_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..d92125d3b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbinstance.json @@ -0,0 +1,670 @@ +{ + "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" + }, + "EngineLifecycleSupport": { + "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/ap_northeast_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..bae973a448 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-dbsubnetgroup.json @@ -0,0 +1,105 @@ +{ + "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": { + "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/ap_northeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py index 5a9b7f7e6e..7467d67554 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -906,6 +906,7 @@ "aws-route53resolver-resolverqueryloggingconfigassociation.json", "aws-glue-devendpoint.json", "aws-appsync-graphqlschema.json", + "aws-imagebuilder-workflow.json", "aws-autoscaling-autoscalinggroup.json", "aws-appconfig-environment.json", "aws-config-deliverychannel.json", @@ -1100,6 +1101,7 @@ "aws-cloudfront-function.json", "aws-appsync-domainname.json", "aws-cloudwatch-insightrule.json", + "aws-imagebuilder-containerrecipe.json", "aws-appmesh-virtualrouter.json", "aws-mediatailor-channel.json", "aws-imagebuilder-lifecyclepolicy.json", @@ -1241,6 +1243,7 @@ "aws-sagemaker-imageversion.json", "aws-securityhub-findingaggregator.json", "aws-config-organizationconfigrule.json", + "aws-imagebuilder-component.json", "aws-inspectorv2-cisscanconfiguration.json", "aws-wafregional-bytematchset.json", "aws-appmesh-virtualgateway.json", @@ -1426,6 +1429,7 @@ "aws-networkmanager-connectpeer.json", "aws-certificatemanager-account.json", "aws-ec2-vpngatewayroutepropagation.json", + "aws-kinesisfirehose-deliverystream.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", "aws-ec2-ipamresourcediscovery.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-component.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-component.json deleted file mode 100644 index fefe237df9..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-component.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Version", - "/properties/ChangeDescription", - "/properties/Description", - "/properties/Platform", - "/properties/Data", - "/properties/Uri", - "/properties/KmsKeyId", - "/properties/SupportedOsVersions", - "/properties/Tags" - ], - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:GetRole", - "kms:GenerateDataKey*", - "kms:Encrypt", - "kms:Decrypt", - "s3:GetObject", - "s3:HeadBucket", - "s3:GetBucketLocation", - "imagebuilder:TagResource", - "imagebuilder:GetComponent", - "imagebuilder:CreateComponent" - ] - }, - "delete": { - "permissions": [ - "imagebuilder:GetComponent", - "imagebuilder:UnTagResource", - "imagebuilder:DeleteComponent" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "Arn": { - "$ref": "resource-schema.json#/properties/Arn" - } - }, - "required": [ - "Arn" - ] - }, - "permissions": [ - "imagebuilder:ListComponents" - ] - }, - "read": { - "permissions": [ - "imagebuilder:GetComponent" - ] - } - }, - "oneOf": [ - { - "required": [ - "Data" - ] - }, - { - "required": [ - "Uri" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "type": "string" - }, - "ChangeDescription": { - "type": "string" - }, - "Data": { - "maxLength": 16000, - "minLength": 1, - "type": "string" - }, - "Description": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - "SupportedOsVersions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "BUILD", - "TEST" - ], - "type": "string" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/Type", - "/properties/Encrypted" - ], - "required": [ - "Name", - "Platform", - "Version" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-imagebuilder", - "tagging": { - "taggable": false - }, - "typeName": "AWS::ImageBuilder::Component", - "writeOnlyProperties": [ - "/properties/Data", - "/properties/Uri", - "/properties/Platform" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-containerrecipe.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-containerrecipe.json deleted file mode 100644 index 440f2b0f3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-containerrecipe.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Version", - "/properties/ContainerType", - "/properties/TargetRepository", - "/properties/InstanceConfiguration", - "/properties/ParentImage", - "/properties/Description", - "/properties/DockerfileTemplateUri", - "/properties/DockerfileTemplateData", - "/properties/ImageOsVersionOverride", - "/properties/KmsKeyId", - "/properties/PlatformOverride", - "/properties/WorkingDirectory", - "/properties/Components", - "/properties/Tags" - ], - "definitions": { - "ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "Parameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ComponentParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "ComponentParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "integer" - }, - "VolumeSize": { - "type": "integer" - }, - "VolumeType": { - "enum": [ - "standard", - "io1", - "io2", - "gp2", - "gp3", - "sc1", - "st1" - ], - "type": "string" - } - }, - "type": "object" - }, - "InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Image": { - "type": "string" - } - }, - "type": "object" - }, - "TargetContainerRepository": { - "additionalProperties": false, - "properties": { - "RepositoryName": { - "type": "string" - }, - "Service": { - "enum": [ - "ECR" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:GetRole", - "iam:CreateServiceLinkedRole", - "imagebuilder:GetComponent", - "imagebuilder:TagResource", - "imagebuilder:GetContainerRecipe", - "imagebuilder:CreateContainerRecipe", - "imagebuilder:GetImage", - "kms:Encrypt", - "kms:Decrypt", - "kms:ReEncryptFrom", - "kms:ReEncryptTo", - "kms:GenerateDataKey*", - "s3:GetObject", - "s3:ListBucket", - "ecr:DescribeRepositories", - "ec2:DescribeImages" - ] - }, - "delete": { - "permissions": [ - "imagebuilder:UnTagResource", - "imagebuilder:GetContainerRecipe", - "imagebuilder:DeleteContainerRecipe" - ] - }, - "list": { - "permissions": [ - "imagebuilder:ListContainerRecipes" - ] - }, - "read": { - "permissions": [ - "imagebuilder:GetContainerRecipe" - ] - } - }, - "oneOf": [ - { - "required": [ - "DockerfileTemplateData", - "Name", - "Version", - "Components", - "ParentImage", - "TargetRepository", - "ContainerType" - ] - }, - { - "required": [ - "DockerfileTemplateUri", - "Name", - "Version", - "Components", - "ParentImage", - "TargetRepository", - "ContainerType" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "type": "string" - }, - "Components": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ComponentConfiguration" - }, - "type": "array" - }, - "ContainerType": { - "enum": [ - "DOCKER" - ], - "type": "string" - }, - "Description": { - "type": "string" - }, - "DockerfileTemplateData": { - "type": "string" - }, - "DockerfileTemplateUri": { - "type": "string" - }, - "ImageOsVersionOverride": { - "type": "string" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/InstanceConfiguration", - "additionalProperties": false - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "PlatformOverride": { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "TargetRepository": { - "$ref": "#/definitions/TargetContainerRepository" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "propertyTransform": { - "/properties/InstanceConfiguration/BlockDeviceMappings/*/Ebs/VolumeType": "$uppercase(VolumeType)" - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-imagebuilder.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::ImageBuilder::ContainerRecipe", - "writeOnlyProperties": [ - "/properties/DockerfileTemplateData", - "/properties/DockerfileTemplateUri", - "/properties/ImageOsVersionOverride", - "/properties/PlatformOverride" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-workflow.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-workflow.json deleted file mode 100644 index e6c085f86f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-imagebuilder-workflow.json +++ /dev/null @@ -1,134 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Version", - "/properties/ChangeDescription", - "/properties/Description", - "/properties/Data", - "/properties/Uri", - "/properties/Type", - "/properties/KmsKeyId", - "/properties/Tags" - ], - "handlers": { - "create": { - "permissions": [ - "iam:GetRole", - "kms:GenerateDataKey*", - "kms:Encrypt", - "kms:Decrypt", - "s3:GetObject", - "s3:HeadBucket", - "s3:GetBucketLocation", - "imagebuilder:TagResource", - "imagebuilder:GetWorkflow", - "imagebuilder:CreateWorkflow" - ] - }, - "delete": { - "permissions": [ - "imagebuilder:GetWorkflow", - "imagebuilder:UnTagResource", - "imagebuilder:DeleteWorkflow" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "Arn": { - "$ref": "resource-schema.json#/properties/Arn" - } - }, - "required": [ - "Arn" - ] - }, - "permissions": [ - "imagebuilder:ListWorkflows" - ] - }, - "read": { - "permissions": [ - "imagebuilder:GetWorkflow" - ] - } - }, - "oneOf": [ - { - "required": [ - "Data" - ] - }, - { - "required": [ - "Uri" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "type": "string" - }, - "ChangeDescription": { - "type": "string" - }, - "Data": { - "maxLength": 16000, - "minLength": 1, - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "BUILD", - "TEST", - "DISTRIBUTION" - ], - "type": "string" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "Name", - "Type", - "Version" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-imagebuilder", - "tagging": { - "taggable": false - }, - "typeName": "AWS::ImageBuilder::Workflow", - "writeOnlyProperties": [ - "/properties/Data", - "/properties/Uri" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kinesisfirehose-deliverystream.json deleted file mode 100644 index cdb6b7ab51..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kinesisfirehose-deliverystream.json +++ /dev/null @@ -1,1434 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliveryStreamName", - "/properties/DeliveryStreamType", - "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration", - "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration", - "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", - "/properties/KinesisStreamSourceConfiguration", - "/properties/MSKSourceConfiguration", - "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration" - ], - "definitions": { - "AmazonOpenSearchServerlessBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonOpenSearchServerlessDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CollectionEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "AmazonOpenSearchServerlessRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonopensearchserviceBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonopensearchserviceDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AmazonopensearchserviceBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "DocumentIdOptions": { - "$ref": "#/definitions/DocumentIdOptions" - }, - "DomainARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "IndexRotationPeriod": { - "enum": [ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ], - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AmazonopensearchserviceRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "TypeName": { - "maxLength": 100, - "minLength": 0, - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "AmazonopensearchserviceRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "Connectivity": { - "enum": [ - "PUBLIC", - "PRIVATE" - ], - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "RoleARN", - "Connectivity" - ], - "type": "object" - }, - "BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "maxLength": 204800, - "minLength": 0, - "type": "string" - }, - "DataTableColumns": { - "maxLength": 204800, - "minLength": 0, - "type": "string" - }, - "DataTableName": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/SchemaConfiguration" - } - }, - "type": "object" - }, - "DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "KeyType": { - "enum": [ - "AWS_OWNED_CMK", - "CUSTOMER_MANAGED_CMK" - ], - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/OpenXJsonSerDe" - } - }, - "type": "object" - }, - "DocumentIdOptions": { - "additionalProperties": false, - "properties": { - "DefaultDocumentIdFormat": { - "enum": [ - "FIREHOSE_DEFAULT", - "NO_DOCUMENT_ID" - ], - "type": "string" - } - }, - "required": [ - "DefaultDocumentIdFormat" - ], - "type": "object" - }, - "DynamicPartitioningConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetryOptions": { - "$ref": "#/definitions/RetryOptions" - } - }, - "type": "object" - }, - "ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "DocumentIdOptions": { - "$ref": "#/definitions/DocumentIdOptions" - }, - "DomainARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "IndexRotationPeriod": { - "enum": [ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ], - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/ElasticsearchRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "TypeName": { - "maxLength": 100, - "minLength": 0, - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "enum": [ - "NoEncryption" - ], - "type": "string" - } - }, - "type": "object" - }, - "ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "maxLength": 2048, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "enum": [ - "UNCOMPRESSED", - "GZIP", - "ZIP", - "Snappy", - "HADOOP_SNAPPY" - ], - "type": "string" - }, - "CustomTimeZone": { - "maxLength": 50, - "minLength": 0, - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/DataFormatConversionConfiguration" - }, - "DynamicPartitioningConfiguration": { - "$ref": "#/definitions/DynamicPartitioningConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "FileExtension": { - "maxLength": 128, - "minLength": 0, - "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+", - "type": "string" - }, - "Prefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "S3BackupMode": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "AttributeValue": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "maxLength": 4096, - "minLength": 0, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Url": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/RetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/HttpEndpointCommonAttribute" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "ContentEncoding": { - "enum": [ - "NONE", - "GZIP" - ], - "type": "string" - } - }, - "type": "object" - }, - "InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/Deserializer" - } - }, - "type": "object" - }, - "KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "RoleARN", - "KinesisStreamARN" - ], - "type": "object" - }, - "MSKSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AuthenticationConfiguration" - }, - "MSKClusterARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "TopicName": { - "maxLength": 255, - "minLength": 1, - "pattern": "[a-zA-Z0-9\\._\\-]+", - "type": "string" - } - }, - "required": [ - "MSKClusterARN", - "TopicName", - "AuthenticationConfiguration" - ], - "type": "object" - }, - "OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "integer" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "integer" - }, - "StripeSizeBytes": { - "type": "integer" - } - }, - "type": "object" - }, - "OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/Serializer" - } - }, - "type": "object" - }, - "ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "integer" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "integer" - }, - "PageSizeBytes": { - "type": "integer" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/Processor" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/ProcessorParameter" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "RecordDeAggregation", - "Decompression", - "CloudWatchLogProcessing", - "Lambda", - "MetadataExtraction", - "AppendDelimiterToRecord" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterValue", - "ParameterName" - ], - "type": "object" - }, - "RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/CopyCommand" - }, - "Password": { - "maxLength": 512, - "minLength": 6, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/RedshiftRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "S3BackupMode": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "Username": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "S3Configuration", - "Username", - "ClusterJDBCURL", - "CopyCommand", - "RoleARN", - "Password" - ], - "type": "object" - }, - "RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "maxLength": 2048, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "enum": [ - "UNCOMPRESSED", - "GZIP", - "ZIP", - "Snappy", - "HADOOP_SNAPPY" - ], - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "Prefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/ParquetSerDe" - } - }, - "type": "object" - }, - "SnowflakeDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountUrl": { - "maxLength": 2048, - "minLength": 24, - "pattern": ".+?\\.snowflakecomputing\\.com", - "type": "string" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ContentColumnName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "DataLoadingOption": { - "enum": [ - "JSON_MAPPING", - "VARIANT_CONTENT_MAPPING", - "VARIANT_CONTENT_AND_METADATA_MAPPING" - ], - "type": "string" - }, - "Database": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "KeyPassphrase": { - "maxLength": 255, - "minLength": 7, - "type": "string" - }, - "MetaDataColumnName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "PrivateKey": { - "maxLength": 4096, - "minLength": 256, - "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$", - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/SnowflakeRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDataOnly", - "AllData" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "Schema": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "SnowflakeRoleConfiguration": { - "$ref": "#/definitions/SnowflakeRoleConfiguration" - }, - "SnowflakeVpcConfiguration": { - "$ref": "#/definitions/SnowflakeVpcConfiguration" - }, - "Table": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "User": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "AccountUrl", - "PrivateKey", - "User", - "Database", - "Schema", - "Table", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "SnowflakeRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "SnowflakeRoleConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SnowflakeRole": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SnowflakeVpcConfiguration": { - "additionalProperties": false, - "properties": { - "PrivateLinkVpceId": { - "maxLength": 255, - "minLength": 47, - "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$", - "type": "string" - } - }, - "required": [ - "PrivateLinkVpceId" - ], - "type": "object" - }, - "SplunkBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/SplunkBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "maximum": 600, - "minimum": 180, - "type": "integer" - }, - "HECEndpoint": { - "maxLength": 2048, - "minLength": 0, - "type": "string" - }, - "HECEndpointType": { - "enum": [ - "Raw", - "Event" - ], - "type": "string" - }, - "HECToken": { - "maxLength": 2048, - "minLength": 0, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "S3Configuration", - "HECToken", - "HECEndpointType" - ], - "type": "object" - }, - "SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "items": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "RoleARN", - "SubnetIds", - "SecurityGroupIds" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "firehose:CreateDeliveryStream", - "firehose:DescribeDeliveryStream", - "iam:GetRole", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey" - ] - }, - "delete": { - "permissions": [ - "firehose:DeleteDeliveryStream", - "firehose:DescribeDeliveryStream", - "kms:RevokeGrant", - "kms:DescribeKey" - ] - }, - "list": { - "permissions": [ - "firehose:ListDeliveryStreams" - ] - }, - "read": { - "permissions": [ - "firehose:DescribeDeliveryStream", - "firehose:ListTagsForDeliveryStream" - ] - }, - "update": { - "permissions": [ - "firehose:UpdateDestination", - "firehose:DescribeDeliveryStream", - "firehose:StartDeliveryStreamEncryption", - "firehose:StopDeliveryStreamEncryption", - "firehose:ListTagsForDeliveryStream", - "firehose:TagDeliveryStream", - "firehose:UntagDeliveryStream", - "kms:CreateGrant", - "kms:RevokeGrant", - "kms:DescribeKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryStreamName" - ], - "properties": { - "AmazonOpenSearchServerlessDestinationConfiguration": { - "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration" - }, - "AmazonopensearchserviceDestinationConfiguration": { - "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration" - }, - "Arn": { - "type": "string" - }, - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "maxLength": 64, - "minLength": 1, - "pattern": "[a-zA-Z0-9._-]+", - "type": "string" - }, - "DeliveryStreamType": { - "enum": [ - "DirectPut", - "KinesisStreamAsSource", - "MSKAsSource" - ], - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/KinesisStreamSourceConfiguration" - }, - "MSKSourceConfiguration": { - "$ref": "#/definitions/MSKSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "SnowflakeDestinationConfiguration": { - "$ref": "#/definitions/SnowflakeDestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "typeName": "AWS::KinesisFirehose::DeliveryStream" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py index ebfcbe33eb..6496e95748 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -1219,6 +1219,7 @@ "aws-appconfig-deploymentstrategy.json", "aws-wafregional-webaclassociation.json", "aws-servicecatalog-serviceaction.json", + "aws-ec2-transitgatewayroute.json", "aws-appstream-directoryconfig.json", "aws-ce-anomalymonitor.json", "aws-iot-resourcespecificlogging.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-transitgatewayroute.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-transitgatewayroute.json deleted file mode 100644 index 899c2c5083..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-transitgatewayroute.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId", - "/properties/DestinationCidrBlock", - "/properties/Blackhole" - ], - "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/ap_southeast_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py index 2c67e89ae2..02b96af715 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -1373,6 +1373,7 @@ "aws-logs-delivery.json", "aws-redshift-clustersubnetgroup.json", "aws-glue-trigger.json", + "aws-ec2-verifiedaccessinstance.json", "aws-m2-environment.json", "aws-networkmanager-sitetositevpnattachment.json", "aws-cloudfront-originaccesscontrol.json", @@ -1684,7 +1685,6 @@ "aws-medialive-multiplexprogram.json", "aws-entityresolution-matchingworkflow.json", "aws-route53resolver-resolverconfig.json", - "aws-rds-dbsubnetgroup.json", "aws-connect-securitykey.json", "aws-route53-keysigningkey.json", "aws-iot-provisioningtemplate.json", @@ -1892,7 +1892,6 @@ "aws-cleanrooms-membership.json", "aws-lambda-function.json", "aws-mediapackage-originendpoint.json", - "aws-rds-dbinstance.json", "aws-sagemaker-modelpackage.json", "aws-qldb-stream.json", "aws-systemsmanagersap-application.json", @@ -2310,7 +2309,6 @@ "aws-rolesanywhere-profile.json", "aws-sso-application.json", "aws-mediaconnect-flow.json", - "aws-rds-dbcluster.json", "aws-sagemaker-space.json", "aws-cloudformation-publictypeversion.json", "aws-servicecatalog-stacksetconstraint.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-verifiedaccessinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-verifiedaccessinstance.json deleted file mode 100644 index fa28dfe1a3..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-verifiedaccessinstance.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "VerifiedAccessLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "IncludeTrustContext": { - "type": "boolean" - }, - "KinesisDataFirehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "LogVersion": { - "type": "string" - }, - "S3": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketOwner": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "VerifiedAccessTrustProvider": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceTrustProviderType": { - "type": "string" - }, - "TrustProviderType": { - "type": "string" - }, - "UserTrustProviderType": { - "type": "string" - }, - "VerifiedAccessTrustProviderId": { - "type": "string" - } - }, - "type": "object" - }, - "VerifiedAccessTrustProviderId": { - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVerifiedAccessInstance", - "ec2:AttachVerifiedAccessTrustProvider", - "ec2:ModifyVerifiedAccessInstanceLoggingConfiguration", - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:CreateTags", - "ec2:DescribeTags", - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:UpdateLogDelivery", - "logs:PutDestination", - "logs:DeleteLogDelivery", - "logs:ListLogDeliveries", - "logs:PutLogEvents", - "logs:DescribeLogStreams", - "s3:listBuckets", - "s3:PutObject", - "s3:GetBucketPolicy", - "s3:PutBucketPolicy", - "logs:DescribeLogGroups", - "logs:PutResourcePolicy", - "firehose:TagDeliveryStream", - "logs:DescribeResourcePolicies", - "iam:CreateServiceLinkedRole", - "verified-access:AllowVerifiedAccess" - ] - }, - "delete": { - "permissions": [ - "ec2:DeleteVerifiedAccessInstance", - "ec2:DeleteTags", - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:DetachVerifiedAccessTrustProvider", - "ec2:GetVerifiedAccessGroupPolicy", - "ec2:DescribeTags", - "logs:ListLogDeliveries", - "logs:GetLogDelivery", - "logs:DeleteLogDelivery" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeTags", - "logs:ListLogDeliveries", - "logs:GetLogDelivery" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:DescribeTags", - "logs:GetLogDelivery", - "logs:ListLogDeliveries" - ] - }, - "update": { - "permissions": [ - "ec2:ModifyVerifiedAccessInstance", - "ec2:ModifyVerifiedAccessInstanceLoggingConfiguration", - "ec2:DescribeVerifiedAccessInstances", - "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations", - "ec2:DescribeTags", - "ec2:AttachVerifiedAccessTrustProvider", - "ec2:DetachVerifiedAccessTrustProvider", - "ec2:DeleteTags", - "ec2:CreateTags", - "ec2:DescribeTags", - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "logs:UpdateLogDelivery", - "logs:DeleteLogDelivery", - "logs:PutDestination", - "logs:PutLogEvents", - "logs:DescribeLogStreams", - "s3:listBuckets", - "s3:PutObject", - "s3:GetBucketPolicy", - "s3:PutBucketPolicy", - "logs:DescribeLogGroups", - "logs:PutResourcePolicy", - "firehose:TagDeliveryStream", - "iam:CreateServiceLinkedRole", - "logs:DescribeResourcePolicies" - ] - } - }, - "primaryIdentifier": [ - "/properties/VerifiedAccessInstanceId" - ], - "properties": { - "CreationTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FipsEnabled": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "LoggingConfigurations": { - "$ref": "#/definitions/VerifiedAccessLogs" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "VerifiedAccessInstanceId": { - "type": "string" - }, - "VerifiedAccessTrustProviderIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VerifiedAccessTrustProviderId" - }, - "type": "array", - "uniqueItems": true - }, - "VerifiedAccessTrustProviders": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VerifiedAccessTrustProvider" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/VerifiedAccessInstanceId", - "/properties/CreationTime", - "/properties/LastUpdatedTime" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-verified-access.aws-ec2-verifiedaccessinstance", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VerifiedAccessInstance" -} 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 new file mode 100644 index 0000000000..62a3797fcd --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json @@ -0,0 +1,500 @@ +{ + "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_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..d92125d3b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json @@ -0,0 +1,670 @@ +{ + "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" + }, + "EngineLifecycleSupport": { + "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/ap_southeast_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..bae973a448 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbsubnetgroup.json @@ -0,0 +1,105 @@ +{ + "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": { + "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/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index f4054407f3..177f804832 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -1320,6 +1320,7 @@ "aws-iotwireless-deviceprofile.json", "aws-wafregional-webaclassociation.json", "aws-servicecatalog-serviceaction.json", + "aws-ec2-transitgatewayroute.json", "aws-appstream-directoryconfig.json", "aws-ce-anomalymonitor.json", "aws-iot-resourcespecificlogging.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-transitgatewayroute.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-transitgatewayroute.json deleted file mode 100644 index 899c2c5083..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-transitgatewayroute.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TransitGatewayRouteTableId", - "/properties/TransitGatewayAttachmentId", - "/properties/DestinationCidrBlock", - "/properties/Blackhole" - ], - "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_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index c67806e5b3..9a20f2d66c 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -2146,6 +2146,7 @@ "aws-networkmanager-connectpeer.json", "aws-certificatemanager-account.json", "aws-ec2-vpngatewayroutepropagation.json", + "aws-kinesisfirehose-deliverystream.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-location-geofencecollection.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesisfirehose-deliverystream.json deleted file mode 100644 index cdb6b7ab51..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesisfirehose-deliverystream.json +++ /dev/null @@ -1,1434 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliveryStreamName", - "/properties/DeliveryStreamType", - "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration", - "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration", - "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", - "/properties/KinesisStreamSourceConfiguration", - "/properties/MSKSourceConfiguration", - "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration" - ], - "definitions": { - "AmazonOpenSearchServerlessBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonOpenSearchServerlessDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CollectionEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "AmazonOpenSearchServerlessRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonopensearchserviceBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonopensearchserviceDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AmazonopensearchserviceBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "DocumentIdOptions": { - "$ref": "#/definitions/DocumentIdOptions" - }, - "DomainARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "IndexRotationPeriod": { - "enum": [ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ], - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AmazonopensearchserviceRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "TypeName": { - "maxLength": 100, - "minLength": 0, - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "AmazonopensearchserviceRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "Connectivity": { - "enum": [ - "PUBLIC", - "PRIVATE" - ], - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "RoleARN", - "Connectivity" - ], - "type": "object" - }, - "BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "maxLength": 204800, - "minLength": 0, - "type": "string" - }, - "DataTableColumns": { - "maxLength": 204800, - "minLength": 0, - "type": "string" - }, - "DataTableName": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/SchemaConfiguration" - } - }, - "type": "object" - }, - "DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "KeyType": { - "enum": [ - "AWS_OWNED_CMK", - "CUSTOMER_MANAGED_CMK" - ], - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/OpenXJsonSerDe" - } - }, - "type": "object" - }, - "DocumentIdOptions": { - "additionalProperties": false, - "properties": { - "DefaultDocumentIdFormat": { - "enum": [ - "FIREHOSE_DEFAULT", - "NO_DOCUMENT_ID" - ], - "type": "string" - } - }, - "required": [ - "DefaultDocumentIdFormat" - ], - "type": "object" - }, - "DynamicPartitioningConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetryOptions": { - "$ref": "#/definitions/RetryOptions" - } - }, - "type": "object" - }, - "ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "DocumentIdOptions": { - "$ref": "#/definitions/DocumentIdOptions" - }, - "DomainARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "IndexRotationPeriod": { - "enum": [ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ], - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/ElasticsearchRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "TypeName": { - "maxLength": 100, - "minLength": 0, - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "enum": [ - "NoEncryption" - ], - "type": "string" - } - }, - "type": "object" - }, - "ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "maxLength": 2048, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "enum": [ - "UNCOMPRESSED", - "GZIP", - "ZIP", - "Snappy", - "HADOOP_SNAPPY" - ], - "type": "string" - }, - "CustomTimeZone": { - "maxLength": 50, - "minLength": 0, - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/DataFormatConversionConfiguration" - }, - "DynamicPartitioningConfiguration": { - "$ref": "#/definitions/DynamicPartitioningConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "FileExtension": { - "maxLength": 128, - "minLength": 0, - "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+", - "type": "string" - }, - "Prefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "S3BackupMode": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "AttributeValue": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "maxLength": 4096, - "minLength": 0, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Url": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/RetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/HttpEndpointCommonAttribute" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "ContentEncoding": { - "enum": [ - "NONE", - "GZIP" - ], - "type": "string" - } - }, - "type": "object" - }, - "InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/Deserializer" - } - }, - "type": "object" - }, - "KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "RoleARN", - "KinesisStreamARN" - ], - "type": "object" - }, - "MSKSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AuthenticationConfiguration" - }, - "MSKClusterARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "TopicName": { - "maxLength": 255, - "minLength": 1, - "pattern": "[a-zA-Z0-9\\._\\-]+", - "type": "string" - } - }, - "required": [ - "MSKClusterARN", - "TopicName", - "AuthenticationConfiguration" - ], - "type": "object" - }, - "OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "integer" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "integer" - }, - "StripeSizeBytes": { - "type": "integer" - } - }, - "type": "object" - }, - "OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/Serializer" - } - }, - "type": "object" - }, - "ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "integer" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "integer" - }, - "PageSizeBytes": { - "type": "integer" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/Processor" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/ProcessorParameter" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "RecordDeAggregation", - "Decompression", - "CloudWatchLogProcessing", - "Lambda", - "MetadataExtraction", - "AppendDelimiterToRecord" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterValue", - "ParameterName" - ], - "type": "object" - }, - "RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/CopyCommand" - }, - "Password": { - "maxLength": 512, - "minLength": 6, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/RedshiftRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "S3BackupMode": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "Username": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "S3Configuration", - "Username", - "ClusterJDBCURL", - "CopyCommand", - "RoleARN", - "Password" - ], - "type": "object" - }, - "RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "maxLength": 2048, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "enum": [ - "UNCOMPRESSED", - "GZIP", - "ZIP", - "Snappy", - "HADOOP_SNAPPY" - ], - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "Prefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/ParquetSerDe" - } - }, - "type": "object" - }, - "SnowflakeDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountUrl": { - "maxLength": 2048, - "minLength": 24, - "pattern": ".+?\\.snowflakecomputing\\.com", - "type": "string" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ContentColumnName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "DataLoadingOption": { - "enum": [ - "JSON_MAPPING", - "VARIANT_CONTENT_MAPPING", - "VARIANT_CONTENT_AND_METADATA_MAPPING" - ], - "type": "string" - }, - "Database": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "KeyPassphrase": { - "maxLength": 255, - "minLength": 7, - "type": "string" - }, - "MetaDataColumnName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "PrivateKey": { - "maxLength": 4096, - "minLength": 256, - "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$", - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/SnowflakeRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDataOnly", - "AllData" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "Schema": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "SnowflakeRoleConfiguration": { - "$ref": "#/definitions/SnowflakeRoleConfiguration" - }, - "SnowflakeVpcConfiguration": { - "$ref": "#/definitions/SnowflakeVpcConfiguration" - }, - "Table": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "User": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "AccountUrl", - "PrivateKey", - "User", - "Database", - "Schema", - "Table", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "SnowflakeRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "SnowflakeRoleConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SnowflakeRole": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SnowflakeVpcConfiguration": { - "additionalProperties": false, - "properties": { - "PrivateLinkVpceId": { - "maxLength": 255, - "minLength": 47, - "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$", - "type": "string" - } - }, - "required": [ - "PrivateLinkVpceId" - ], - "type": "object" - }, - "SplunkBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/SplunkBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "maximum": 600, - "minimum": 180, - "type": "integer" - }, - "HECEndpoint": { - "maxLength": 2048, - "minLength": 0, - "type": "string" - }, - "HECEndpointType": { - "enum": [ - "Raw", - "Event" - ], - "type": "string" - }, - "HECToken": { - "maxLength": 2048, - "minLength": 0, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "S3Configuration", - "HECToken", - "HECEndpointType" - ], - "type": "object" - }, - "SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "items": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "RoleARN", - "SubnetIds", - "SecurityGroupIds" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "firehose:CreateDeliveryStream", - "firehose:DescribeDeliveryStream", - "iam:GetRole", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey" - ] - }, - "delete": { - "permissions": [ - "firehose:DeleteDeliveryStream", - "firehose:DescribeDeliveryStream", - "kms:RevokeGrant", - "kms:DescribeKey" - ] - }, - "list": { - "permissions": [ - "firehose:ListDeliveryStreams" - ] - }, - "read": { - "permissions": [ - "firehose:DescribeDeliveryStream", - "firehose:ListTagsForDeliveryStream" - ] - }, - "update": { - "permissions": [ - "firehose:UpdateDestination", - "firehose:DescribeDeliveryStream", - "firehose:StartDeliveryStreamEncryption", - "firehose:StopDeliveryStreamEncryption", - "firehose:ListTagsForDeliveryStream", - "firehose:TagDeliveryStream", - "firehose:UntagDeliveryStream", - "kms:CreateGrant", - "kms:RevokeGrant", - "kms:DescribeKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryStreamName" - ], - "properties": { - "AmazonOpenSearchServerlessDestinationConfiguration": { - "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration" - }, - "AmazonopensearchserviceDestinationConfiguration": { - "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration" - }, - "Arn": { - "type": "string" - }, - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "maxLength": 64, - "minLength": 1, - "pattern": "[a-zA-Z0-9._-]+", - "type": "string" - }, - "DeliveryStreamType": { - "enum": [ - "DirectPut", - "KinesisStreamAsSource", - "MSKAsSource" - ], - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/KinesisStreamSourceConfiguration" - }, - "MSKSourceConfiguration": { - "$ref": "#/definitions/MSKSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "SnowflakeDestinationConfiguration": { - "$ref": "#/definitions/SnowflakeDestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "typeName": "AWS::KinesisFirehose::DeliveryStream" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py index da62e00865..6fecc49912 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 @@ -1144,6 +1144,7 @@ "aws-arczonalshift-zonalautoshiftconfiguration.json", "aws-logs-logstream.json", "aws-ec2-vpcendpointconnectionnotification.json", + "aws-synthetics-canary.json", "aws-s3-bucket.json", "aws-certificatemanager-account.json", "aws-ec2-vpngatewayroutepropagation.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-synthetics-canary.json deleted file mode 100644 index 274392c7eb..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-synthetics-canary.json +++ /dev/null @@ -1,356 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ArtifactConfig": { - "additionalProperties": false, - "properties": { - "S3Encryption": { - "$ref": "#/definitions/S3Encryption" - } - }, - "type": "object" - }, - "BaseScreenshot": { - "properties": { - "IgnoreCoordinates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScreenshotName": { - "type": "string" - } - }, - "required": [ - "ScreenshotName" - ], - "type": "object" - }, - "Code": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "S3Bucket", - "S3Key" - ] - }, - { - "required": [ - "Script" - ] - } - ], - "properties": { - "Handler": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "Script": { - "type": "string" - }, - "SourceLocationArn": { - "type": "string" - } - }, - "required": [ - "Handler" - ], - "type": "object" - }, - "RunConfig": { - "additionalProperties": false, - "properties": { - "ActiveTracing": { - "type": "boolean" - }, - "EnvironmentVariables": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z][a-zA-Z0-9_]+": { - "type": "string" - } - }, - "type": "object" - }, - "MemoryInMB": { - "type": "integer" - }, - "TimeoutInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "S3Encryption": { - "additionalProperties": false, - "properties": { - "EncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VPCConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "required": [ - "SubnetIds", - "SecurityGroupIds" - ], - "type": "object" - }, - "VisualReference": { - "additionalProperties": false, - "properties": { - "BaseCanaryRunId": { - "type": "string" - }, - "BaseScreenshots": { - "items": { - "$ref": "#/definitions/BaseScreenshot" - }, - "type": "array" - } - }, - "required": [ - "BaseCanaryRunId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DeleteLambdaResourcesOnCanaryDeletion" - ], - "handlers": { - "create": { - "permissions": [ - "synthetics:CreateCanary", - "synthetics:StartCanary", - "synthetics:GetCanary", - "synthetics:TagResource", - "s3:CreateBucket", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:PutBucketEncryption", - "s3:PutEncryptionConfiguration", - "s3:GetBucketLocation", - "lambda:CreateFunction", - "lambda:AddPermission", - "lambda:PublishVersion", - "lambda:UpdateFunctionConfiguration", - "lambda:GetFunctionConfiguration", - "lambda:GetLayerVersionByArn", - "lambda:GetLayerVersion", - "lambda:PublishLayerVersion", - "ec2:DescribeVpcs", - "ec2:DescribeSubnets", - "ec2:DescribeSecurityGroups", - "iam:PassRole" - ] - }, - "delete": { - "permissions": [ - "synthetics:DeleteCanary", - "synthetics:GetCanary" - ] - }, - "list": { - "permissions": [ - "synthetics:DescribeCanaries" - ] - }, - "read": { - "permissions": [ - "synthetics:GetCanary", - "synthetics:DescribeCanaries", - "synthetics:ListTagsForResource", - "iam:ListRoles", - "s3:ListAllMyBuckets", - "s3:GetBucketLocation" - ] - }, - "update": { - "permissions": [ - "synthetics:UpdateCanary", - "synthetics:StartCanary", - "synthetics:StopCanary", - "synthetics:GetCanary", - "synthetics:TagResource", - "synthetics:UntagResource", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:PutBucketEncryption", - "s3:PutEncryptionConfiguration", - "s3:GetBucketLocation", - "lambda:AddPermission", - "lambda:PublishVersion", - "lambda:UpdateFunctionConfiguration", - "lambda:GetFunctionConfiguration", - "lambda:GetLayerVersionByArn", - "lambda:GetLayerVersion", - "lambda:PublishLayerVersion", - "iam:PassRole" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "ArtifactConfig": { - "$ref": "#/definitions/ArtifactConfig" - }, - "ArtifactS3Location": { - "pattern": "^(s3|S3)://", - "type": "string" - }, - "Code": { - "$ref": "#/definitions/Code" - }, - "DeleteLambdaResourcesOnCanaryDeletion": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FailureRetentionPeriod": { - "type": "integer" - }, - "Id": { - "type": "string" - }, - "Name": { - "pattern": "^[0-9a-z_\\-]{1,21}$", - "type": "string" - }, - "RunConfig": { - "$ref": "#/definitions/RunConfig" - }, - "RuntimeVersion": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "StartCanaryAfterCreation": { - "type": "boolean" - }, - "State": { - "type": "string" - }, - "SuccessRetentionPeriod": { - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VPCConfig": { - "$ref": "#/definitions/VPCConfig" - }, - "VisualReference": { - "$ref": "#/definitions/VisualReference" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/State", - "/properties/Code/SourceLocationArn" - ], - "required": [ - "Name", - "Code", - "ArtifactS3Location", - "ExecutionRoleArn", - "Schedule", - "RuntimeVersion" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-synthetics", - "tagging": { - "taggable": true - }, - "typeName": "AWS::Synthetics::Canary", - "writeOnlyProperties": [ - "/properties/Code/S3Bucket", - "/properties/Code/S3Key", - "/properties/Code/S3ObjectVersion", - "/properties/Code/Script", - "/properties/DeleteLambdaResourcesOnCanaryDeletion", - "/properties/StartCanaryAfterCreation", - "/properties/RunConfig/EnvironmentVariables", - "/properties/VisualReference" - ] -} 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 45e9c805ac..abef69f271 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 @@ -1366,6 +1366,7 @@ "aws-arczonalshift-zonalautoshiftconfiguration.json", "aws-logs-logstream.json", "aws-ec2-vpcendpointconnectionnotification.json", + "aws-synthetics-canary.json", "aws-s3-bucket.json", "aws-certificatemanager-account.json", "aws-applicationautoscaling-scalingpolicy.json", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-synthetics-canary.json deleted file mode 100644 index 274392c7eb..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-synthetics-canary.json +++ /dev/null @@ -1,356 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ArtifactConfig": { - "additionalProperties": false, - "properties": { - "S3Encryption": { - "$ref": "#/definitions/S3Encryption" - } - }, - "type": "object" - }, - "BaseScreenshot": { - "properties": { - "IgnoreCoordinates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScreenshotName": { - "type": "string" - } - }, - "required": [ - "ScreenshotName" - ], - "type": "object" - }, - "Code": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "S3Bucket", - "S3Key" - ] - }, - { - "required": [ - "Script" - ] - } - ], - "properties": { - "Handler": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "Script": { - "type": "string" - }, - "SourceLocationArn": { - "type": "string" - } - }, - "required": [ - "Handler" - ], - "type": "object" - }, - "RunConfig": { - "additionalProperties": false, - "properties": { - "ActiveTracing": { - "type": "boolean" - }, - "EnvironmentVariables": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z][a-zA-Z0-9_]+": { - "type": "string" - } - }, - "type": "object" - }, - "MemoryInMB": { - "type": "integer" - }, - "TimeoutInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "S3Encryption": { - "additionalProperties": false, - "properties": { - "EncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VPCConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "required": [ - "SubnetIds", - "SecurityGroupIds" - ], - "type": "object" - }, - "VisualReference": { - "additionalProperties": false, - "properties": { - "BaseCanaryRunId": { - "type": "string" - }, - "BaseScreenshots": { - "items": { - "$ref": "#/definitions/BaseScreenshot" - }, - "type": "array" - } - }, - "required": [ - "BaseCanaryRunId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DeleteLambdaResourcesOnCanaryDeletion" - ], - "handlers": { - "create": { - "permissions": [ - "synthetics:CreateCanary", - "synthetics:StartCanary", - "synthetics:GetCanary", - "synthetics:TagResource", - "s3:CreateBucket", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:PutBucketEncryption", - "s3:PutEncryptionConfiguration", - "s3:GetBucketLocation", - "lambda:CreateFunction", - "lambda:AddPermission", - "lambda:PublishVersion", - "lambda:UpdateFunctionConfiguration", - "lambda:GetFunctionConfiguration", - "lambda:GetLayerVersionByArn", - "lambda:GetLayerVersion", - "lambda:PublishLayerVersion", - "ec2:DescribeVpcs", - "ec2:DescribeSubnets", - "ec2:DescribeSecurityGroups", - "iam:PassRole" - ] - }, - "delete": { - "permissions": [ - "synthetics:DeleteCanary", - "synthetics:GetCanary" - ] - }, - "list": { - "permissions": [ - "synthetics:DescribeCanaries" - ] - }, - "read": { - "permissions": [ - "synthetics:GetCanary", - "synthetics:DescribeCanaries", - "synthetics:ListTagsForResource", - "iam:ListRoles", - "s3:ListAllMyBuckets", - "s3:GetBucketLocation" - ] - }, - "update": { - "permissions": [ - "synthetics:UpdateCanary", - "synthetics:StartCanary", - "synthetics:StopCanary", - "synthetics:GetCanary", - "synthetics:TagResource", - "synthetics:UntagResource", - "s3:GetObject", - "s3:GetObjectVersion", - "s3:PutBucketEncryption", - "s3:PutEncryptionConfiguration", - "s3:GetBucketLocation", - "lambda:AddPermission", - "lambda:PublishVersion", - "lambda:UpdateFunctionConfiguration", - "lambda:GetFunctionConfiguration", - "lambda:GetLayerVersionByArn", - "lambda:GetLayerVersion", - "lambda:PublishLayerVersion", - "iam:PassRole" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "ArtifactConfig": { - "$ref": "#/definitions/ArtifactConfig" - }, - "ArtifactS3Location": { - "pattern": "^(s3|S3)://", - "type": "string" - }, - "Code": { - "$ref": "#/definitions/Code" - }, - "DeleteLambdaResourcesOnCanaryDeletion": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FailureRetentionPeriod": { - "type": "integer" - }, - "Id": { - "type": "string" - }, - "Name": { - "pattern": "^[0-9a-z_\\-]{1,21}$", - "type": "string" - }, - "RunConfig": { - "$ref": "#/definitions/RunConfig" - }, - "RuntimeVersion": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "StartCanaryAfterCreation": { - "type": "boolean" - }, - "State": { - "type": "string" - }, - "SuccessRetentionPeriod": { - "type": "integer" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VPCConfig": { - "$ref": "#/definitions/VPCConfig" - }, - "VisualReference": { - "$ref": "#/definitions/VisualReference" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/State", - "/properties/Code/SourceLocationArn" - ], - "required": [ - "Name", - "Code", - "ArtifactS3Location", - "ExecutionRoleArn", - "Schedule", - "RuntimeVersion" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-synthetics", - "tagging": { - "taggable": true - }, - "typeName": "AWS::Synthetics::Canary", - "writeOnlyProperties": [ - "/properties/Code/S3Bucket", - "/properties/Code/S3Key", - "/properties/Code/S3ObjectVersion", - "/properties/Code/Script", - "/properties/DeleteLambdaResourcesOnCanaryDeletion", - "/properties/StartCanaryAfterCreation", - "/properties/RunConfig/EnvironmentVariables", - "/properties/VisualReference" - ] -} 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 5ff85a2d0a..49cf943b7e 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -1436,6 +1436,7 @@ "aws-identitystore-group.json", "aws-autoscaling-lifecyclehook.json", "aws-transfer-certificate.json", + "aws-ssmincidents-responseplan.json", "aws-iot-policyprincipalattachment.json", "aws-resourceexplorer2-defaultviewassociation.json", "aws-ec2-networkaclentry.json", @@ -1747,6 +1748,7 @@ "aws-networkmanager-connectpeer.json", "aws-certificatemanager-account.json", "aws-ec2-vpngatewayroutepropagation.json", + "aws-kinesisfirehose-deliverystream.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-servicecatalog-cloudformationprovisionedproduct.json", "aws-ec2-ipamresourcediscovery.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-kinesisfirehose-deliverystream.json deleted file mode 100644 index cdb6b7ab51..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-kinesisfirehose-deliverystream.json +++ /dev/null @@ -1,1434 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeliveryStreamName", - "/properties/DeliveryStreamType", - "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration", - "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration", - "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", - "/properties/KinesisStreamSourceConfiguration", - "/properties/MSKSourceConfiguration", - "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration" - ], - "definitions": { - "AmazonOpenSearchServerlessBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonOpenSearchServerlessDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CollectionEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "AmazonOpenSearchServerlessRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonopensearchserviceBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "AmazonopensearchserviceDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AmazonopensearchserviceBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "DocumentIdOptions": { - "$ref": "#/definitions/DocumentIdOptions" - }, - "DomainARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "IndexRotationPeriod": { - "enum": [ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ], - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AmazonopensearchserviceRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "TypeName": { - "maxLength": 100, - "minLength": 0, - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "AmazonopensearchserviceRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "Connectivity": { - "enum": [ - "PUBLIC", - "PRIVATE" - ], - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "RoleARN", - "Connectivity" - ], - "type": "object" - }, - "BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "maxLength": 204800, - "minLength": 0, - "type": "string" - }, - "DataTableColumns": { - "maxLength": 204800, - "minLength": 0, - "type": "string" - }, - "DataTableName": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/SchemaConfiguration" - } - }, - "type": "object" - }, - "DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "KeyType": { - "enum": [ - "AWS_OWNED_CMK", - "CUSTOMER_MANAGED_CMK" - ], - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/OpenXJsonSerDe" - } - }, - "type": "object" - }, - "DocumentIdOptions": { - "additionalProperties": false, - "properties": { - "DefaultDocumentIdFormat": { - "enum": [ - "FIREHOSE_DEFAULT", - "NO_DOCUMENT_ID" - ], - "type": "string" - } - }, - "required": [ - "DefaultDocumentIdFormat" - ], - "type": "object" - }, - "DynamicPartitioningConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetryOptions": { - "$ref": "#/definitions/RetryOptions" - } - }, - "type": "object" - }, - "ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "maxLength": 512, - "minLength": 1, - "pattern": "https:.*", - "type": "string" - }, - "DocumentIdOptions": { - "$ref": "#/definitions/DocumentIdOptions" - }, - "DomainARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "IndexName": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "IndexRotationPeriod": { - "enum": [ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ], - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/ElasticsearchRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDocumentsOnly", - "AllDocuments" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "TypeName": { - "maxLength": 100, - "minLength": 0, - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/VpcConfiguration" - } - }, - "required": [ - "IndexName", - "S3Configuration", - "RoleARN" - ], - "type": "object" - }, - "ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "enum": [ - "NoEncryption" - ], - "type": "string" - } - }, - "type": "object" - }, - "ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "maxLength": 2048, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "enum": [ - "UNCOMPRESSED", - "GZIP", - "ZIP", - "Snappy", - "HADOOP_SNAPPY" - ], - "type": "string" - }, - "CustomTimeZone": { - "maxLength": 50, - "minLength": 0, - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/DataFormatConversionConfiguration" - }, - "DynamicPartitioningConfiguration": { - "$ref": "#/definitions/DynamicPartitioningConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "FileExtension": { - "maxLength": 128, - "minLength": 0, - "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+", - "type": "string" - }, - "Prefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "S3BackupMode": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "AttributeValue": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "maxLength": 4096, - "minLength": 0, - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Url": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/RetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/HttpEndpointCommonAttribute" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "ContentEncoding": { - "enum": [ - "NONE", - "GZIP" - ], - "type": "string" - } - }, - "type": "object" - }, - "InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/Deserializer" - } - }, - "type": "object" - }, - "KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "RoleARN", - "KinesisStreamARN" - ], - "type": "object" - }, - "MSKSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AuthenticationConfiguration" - }, - "MSKClusterARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "TopicName": { - "maxLength": 255, - "minLength": 1, - "pattern": "[a-zA-Z0-9\\._\\-]+", - "type": "string" - } - }, - "required": [ - "MSKClusterARN", - "TopicName", - "AuthenticationConfiguration" - ], - "type": "object" - }, - "OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "integer" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "integer" - }, - "StripeSizeBytes": { - "type": "integer" - } - }, - "type": "object" - }, - "OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/Serializer" - } - }, - "type": "object" - }, - "ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "integer" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "integer" - }, - "PageSizeBytes": { - "type": "integer" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/Processor" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/ProcessorParameter" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "RecordDeAggregation", - "Decompression", - "CloudWatchLogProcessing", - "Lambda", - "MetadataExtraction", - "AppendDelimiterToRecord" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterValue", - "ParameterName" - ], - "type": "object" - }, - "RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/CopyCommand" - }, - "Password": { - "maxLength": 512, - "minLength": 6, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/RedshiftRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "S3BackupMode": { - "enum": [ - "Disabled", - "Enabled" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "Username": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "S3Configuration", - "Username", - "ClusterJDBCURL", - "CopyCommand", - "RoleARN", - "Password" - ], - "type": "object" - }, - "RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "maxLength": 2048, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "enum": [ - "UNCOMPRESSED", - "GZIP", - "ZIP", - "Snappy", - "HADOOP_SNAPPY" - ], - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "Prefix": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/ParquetSerDe" - } - }, - "type": "object" - }, - "SnowflakeDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountUrl": { - "maxLength": 2048, - "minLength": 24, - "pattern": ".+?\\.snowflakecomputing\\.com", - "type": "string" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "ContentColumnName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "DataLoadingOption": { - "enum": [ - "JSON_MAPPING", - "VARIANT_CONTENT_MAPPING", - "VARIANT_CONTENT_AND_METADATA_MAPPING" - ], - "type": "string" - }, - "Database": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "KeyPassphrase": { - "maxLength": 255, - "minLength": 7, - "type": "string" - }, - "MetaDataColumnName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "PrivateKey": { - "maxLength": 4096, - "minLength": 256, - "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$", - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/SnowflakeRetryOptions" - }, - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "S3BackupMode": { - "enum": [ - "FailedDataOnly", - "AllData" - ], - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "Schema": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "SnowflakeRoleConfiguration": { - "$ref": "#/definitions/SnowflakeRoleConfiguration" - }, - "SnowflakeVpcConfiguration": { - "$ref": "#/definitions/SnowflakeVpcConfiguration" - }, - "Table": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "User": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "AccountUrl", - "PrivateKey", - "User", - "Database", - "Schema", - "Table", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "SnowflakeRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "SnowflakeRoleConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SnowflakeRole": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SnowflakeVpcConfiguration": { - "additionalProperties": false, - "properties": { - "PrivateLinkVpceId": { - "maxLength": 255, - "minLength": 47, - "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$", - "type": "string" - } - }, - "required": [ - "PrivateLinkVpceId" - ], - "type": "object" - }, - "SplunkBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "integer" - }, - "SizeInMBs": { - "type": "integer" - } - }, - "type": "object" - }, - "SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/SplunkBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "maximum": 600, - "minimum": 180, - "type": "integer" - }, - "HECEndpoint": { - "maxLength": 2048, - "minLength": 0, - "type": "string" - }, - "HECEndpointType": { - "enum": [ - "Raw", - "Event" - ], - "type": "string" - }, - "HECToken": { - "maxLength": 2048, - "minLength": 0, - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "S3Configuration", - "HECToken", - "HECEndpointType" - ], - "type": "object" - }, - "SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$", - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "maxLength": 512, - "minLength": 1, - "pattern": "arn:.*", - "type": "string" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "items": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "RoleARN", - "SubnetIds", - "SecurityGroupIds" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "firehose:CreateDeliveryStream", - "firehose:DescribeDeliveryStream", - "iam:GetRole", - "iam:PassRole", - "kms:CreateGrant", - "kms:DescribeKey" - ] - }, - "delete": { - "permissions": [ - "firehose:DeleteDeliveryStream", - "firehose:DescribeDeliveryStream", - "kms:RevokeGrant", - "kms:DescribeKey" - ] - }, - "list": { - "permissions": [ - "firehose:ListDeliveryStreams" - ] - }, - "read": { - "permissions": [ - "firehose:DescribeDeliveryStream", - "firehose:ListTagsForDeliveryStream" - ] - }, - "update": { - "permissions": [ - "firehose:UpdateDestination", - "firehose:DescribeDeliveryStream", - "firehose:StartDeliveryStreamEncryption", - "firehose:StopDeliveryStreamEncryption", - "firehose:ListTagsForDeliveryStream", - "firehose:TagDeliveryStream", - "firehose:UntagDeliveryStream", - "kms:CreateGrant", - "kms:RevokeGrant", - "kms:DescribeKey" - ] - } - }, - "primaryIdentifier": [ - "/properties/DeliveryStreamName" - ], - "properties": { - "AmazonOpenSearchServerlessDestinationConfiguration": { - "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration" - }, - "AmazonopensearchserviceDestinationConfiguration": { - "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration" - }, - "Arn": { - "type": "string" - }, - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "maxLength": 64, - "minLength": 1, - "pattern": "[a-zA-Z0-9._-]+", - "type": "string" - }, - "DeliveryStreamType": { - "enum": [ - "DirectPut", - "KinesisStreamAsSource", - "MSKAsSource" - ], - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/KinesisStreamSourceConfiguration" - }, - "MSKSourceConfiguration": { - "$ref": "#/definitions/MSKSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/S3DestinationConfiguration" - }, - "SnowflakeDestinationConfiguration": { - "$ref": "#/definitions/SnowflakeDestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "typeName": "AWS::KinesisFirehose::DeliveryStream" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ssmincidents-responseplan.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ssmincidents-responseplan.json deleted file mode 100644 index cbf47f915e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-ssmincidents-responseplan.json +++ /dev/null @@ -1,411 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "Action": { - "additionalProperties": false, - "properties": { - "SsmAutomation": { - "$ref": "#/definitions/SsmAutomation" - } - }, - "type": "object" - }, - "ChatChannel": { - "additionalProperties": false, - "properties": { - "ChatbotSns": { - "$ref": "#/definitions/ChatbotSns" - } - }, - "type": "object" - }, - "ChatbotSns": { - "default": [], - "insertionOrder": true, - "items": { - "$ref": "#/definitions/SnsArn" - }, - "type": "array", - "uniqueItems": true - }, - "DynamicSsmParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "Value": { - "$ref": "#/definitions/DynamicSsmParameterValue" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "DynamicSsmParameterValue": { - "additionalProperties": false, - "properties": { - "Variable": { - "$ref": "#/definitions/VariableType" - } - }, - "type": "object" - }, - "IncidentTemplate": { - "additionalProperties": false, - "properties": { - "DedupeString": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - "Impact": { - "maximum": 5, - "minimum": 1, - "type": "integer" - }, - "IncidentTags": { - "default": [], - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "NotificationTargets": { - "default": [], - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NotificationTargetItem" - }, - "maxItems": 10, - "type": "array" - }, - "Summary": { - "maxLength": 4000, - "minLength": 1, - "type": "string" - }, - "Title": { - "maxLength": 200, - "type": "string" - } - }, - "required": [ - "Title", - "Impact" - ], - "type": "object" - }, - "Integration": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "PagerDutyConfiguration" - ] - } - ], - "properties": { - "PagerDutyConfiguration": { - "$ref": "#/definitions/PagerDutyConfiguration" - } - }, - "type": "object" - }, - "NotificationTargetItem": { - "additionalProperties": false, - "properties": { - "SnsTopicArn": { - "$ref": "#/definitions/SnsArn" - } - }, - "type": "object" - }, - "PagerDutyConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "PagerDutyIncidentConfiguration": { - "$ref": "#/definitions/PagerDutyIncidentConfiguration" - }, - "SecretId": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Name", - "SecretId", - "PagerDutyIncidentConfiguration" - ], - "type": "object" - }, - "PagerDutyIncidentConfiguration": { - "additionalProperties": false, - "properties": { - "ServiceId": { - "maxLength": 200, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "SSMContact": { - "maxLength": 1000, - "pattern": "^arn:aws(-(cn|us-gov))?:ssm-contacts:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "SnsArn": { - "maxLength": 1000, - "pattern": "^arn:aws(-(cn|us-gov))?:sns:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "SsmAutomation": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "maxLength": 128, - "type": "string" - }, - "DocumentVersion": { - "maxLength": 128, - "type": "string" - }, - "DynamicParameters": { - "default": [], - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DynamicSsmParameter" - }, - "maxItems": 200, - "type": "array", - "uniqueItems": true - }, - "Parameters": { - "default": [], - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SsmParameter" - }, - "maxItems": 200, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "RoleArn": { - "maxLength": 1000, - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "TargetAccount": { - "enum": [ - "IMPACTED_ACCOUNT", - "RESPONSE_PLAN_OWNER_ACCOUNT" - ], - "type": "string" - } - }, - "required": [ - "RoleArn", - "DocumentName" - ], - "type": "object" - }, - "SsmParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "Values": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/SsmParameterValue" - }, - "maxItems": 10, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Values", - "Key" - ], - "type": "object" - }, - "SsmParameterValue": { - "maxLength": 10000, - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VariableType": { - "enum": [ - "INCIDENT_RECORD_ARN", - "INVOLVED_RESOURCES" - ], - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "ssm-incidents:CreateResponsePlan", - "ssm-incidents:GetResponsePlan", - "ssm-incidents:TagResource", - "ssm-incidents:ListTagsForResource", - "iam:PassRole", - "secretsmanager:GetSecretValue", - "kms:Decrypt", - "kms:GenerateDataKey*" - ] - }, - "delete": { - "permissions": [ - "ssm-incidents:DeleteResponsePlan", - "ssm-incidents:GetResponsePlan" - ] - }, - "list": { - "permissions": [ - "ssm-incidents:ListResponsePlans" - ] - }, - "read": { - "permissions": [ - "ssm-incidents:GetResponsePlan", - "ssm-incidents:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "ssm-incidents:UpdateResponsePlan", - "ssm-incidents:GetResponsePlan", - "ssm-incidents:TagResource", - "ssm-incidents:UntagResource", - "ssm-incidents:ListTagsForResource", - "iam:PassRole", - "secretsmanager:GetSecretValue", - "kms:Decrypt", - "kms:GenerateDataKey*" - ] - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Actions": { - "default": [], - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Action" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": true - }, - "Arn": { - "maxLength": 1000, - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "ChatChannel": { - "$ref": "#/definitions/ChatChannel" - }, - "DisplayName": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "Engagements": { - "default": [], - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SSMContact" - }, - "maxItems": 5, - "type": "array", - "uniqueItems": true - }, - "IncidentTemplate": { - "$ref": "#/definitions/IncidentTemplate" - }, - "Integrations": { - "default": [], - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Integration" - }, - "maxItems": 1, - "type": "array", - "uniqueItems": true - }, - "Name": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]*$", - "type": "string" - }, - "Tags": { - "default": [], - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "Name", - "IncidentTemplate" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ssm-incidents.git", - "taggable": true, - "typeName": "AWS::SSMIncidents::ResponsePlan" -} 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 255f6f77e2..e919969ff3 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -1533,7 +1533,6 @@ "aws-scheduler-schedule.json", "aws-docdb-dbinstance.json", "aws-ecr-replicationconfiguration.json", - "aws-kms-key.json", "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-kinesisanalyticsv2-applicationreferencedatasource.json", "aws-glue-securityconfiguration.json", @@ -1804,7 +1803,6 @@ "aws-medialive-multiplexprogram.json", "aws-entityresolution-matchingworkflow.json", "aws-route53resolver-resolverconfig.json", - "aws-rds-dbsubnetgroup.json", "aws-connect-securitykey.json", "aws-route53-keysigningkey.json", "aws-iot-provisioningtemplate.json", @@ -2029,7 +2027,6 @@ "aws-cleanrooms-membership.json", "aws-lambda-function.json", "aws-mediapackage-originendpoint.json", - "aws-rds-dbinstance.json", "aws-sagemaker-modelpackage.json", "aws-qldb-stream.json", "aws-systemsmanagersap-application.json", @@ -2468,7 +2465,6 @@ "aws-rolesanywhere-profile.json", "aws-sso-application.json", "aws-mediaconnect-flow.json", - "aws-rds-dbcluster.json", "aws-sagemaker-space.json", "aws-cloudformation-publictypeversion.json", "aws-servicecatalog-stacksetconstraint.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-kms-key.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-kms-key.json new file mode 100644 index 0000000000..501665cd50 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-kms-key.json @@ -0,0 +1,181 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "kms:CreateKey", + "kms:EnableKeyRotation", + "kms:DisableKey", + "kms:TagResource", + "kms:PutKeyPolicy" + ] + }, + "delete": { + "permissions": [ + "kms:DescribeKey", + "kms:ScheduleKeyDeletion" + ] + }, + "list": { + "permissions": [ + "kms:ListKeys", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "kms:DescribeKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:ListResourceTags" + ] + }, + "update": { + "permissions": [ + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:PutKeyPolicy", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateKeyDescription", + "kms:ListResourceTags" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyId" + ], + "properties": { + "Arn": { + "type": "string" + }, + "BypassPolicyLockoutSafetyCheck": { + "default": false, + "type": "boolean" + }, + "Description": { + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyId": { + "type": "string" + }, + "KeyPolicy": { + "default": "{\n \"Version\": \"2012-10-17\",\n \"Id\": \"key-default\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn::iam:::root\"\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\"\n }\n ]\n}", + "type": [ + "object", + "string" + ] + }, + "KeySpec": { + "default": "SYMMETRIC_DEFAULT", + "enum": [ + "SYMMETRIC_DEFAULT", + "RSA_2048", + "RSA_3072", + "RSA_4096", + "ECC_NIST_P256", + "ECC_NIST_P384", + "ECC_NIST_P521", + "ECC_SECG_P256K1", + "HMAC_224", + "HMAC_256", + "HMAC_384", + "HMAC_512", + "SM2" + ], + "type": "string" + }, + "KeyUsage": { + "default": "ENCRYPT_DECRYPT", + "enum": [ + "ENCRYPT_DECRYPT", + "SIGN_VERIFY", + "GENERATE_VERIFY_MAC", + "KEY_AGREEMENT" + ], + "type": "string" + }, + "MultiRegion": { + "default": false, + "type": "boolean" + }, + "Origin": { + "default": "AWS_KMS", + "enum": [ + "AWS_KMS", + "EXTERNAL" + ], + "type": "string" + }, + "PendingWindowInDays": { + "maximum": 30, + "minimum": 7, + "type": "integer" + }, + "RotationPeriodInDays": { + "default": 365, + "maximum": 2560, + "minimum": 90, + "type": "integer" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/KeyId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kms", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::KMS::Key", + "writeOnlyProperties": [ + "/properties/PendingWindowInDays", + "/properties/BypassPolicyLockoutSafetyCheck", + "/properties/RotationPeriodInDays" + ] +} 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 new file mode 100644 index 0000000000..62a3797fcd --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json @@ -0,0 +1,500 @@ +{ + "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-dbinstance.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..d92125d3b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbinstance.json @@ -0,0 +1,670 @@ +{ + "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" + }, + "EngineLifecycleSupport": { + "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/us_west_2/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbsubnetgroup.json new file mode 100644 index 0000000000..bae973a448 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbsubnetgroup.json @@ -0,0 +1,105 @@ +{ + "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": { + "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" + ] +}