From eeed57dd32813222a9082bdd19c6854e8fad1a22 Mon Sep 17 00:00:00 2001 From: kddejong <36457093+kddejong@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:30:38 +0000 Subject: [PATCH] Update CloudFormation schemas to 2024-07-18 --- ...5a0d14c62111ff864923fc7b7960dda6.meta.json | 2 +- ...2b6653d7edfe98a64577daae0b481c38.meta.json | 2 +- ...4cfc32461d10e077e7e5de1fc25d8b8f.meta.json | 2 +- ...3fbf0a0fb76625ba46dbe42abd34333c.meta.json | 2 +- ...f60a7b5acfc406ebb10d5748cbb8ed41.meta.json | 2 +- ...f35136af536e92a84ccbaf062c315066.meta.json | 2 +- ...04470222e5e4c690bacef5312891581d.meta.json | 2 +- ...646b563d773e34b020d0ddeab2fe195b.meta.json | 2 +- ...548d44cc32e246ec9d7742088a2c17f8.meta.json | 2 +- ...98ac34d4109512e0e0947ef752dcb9c9.meta.json | 2 +- ...7e4a4542365d35fd75466abcf306eeca.meta.json | 2 +- ...69b7533eabab32ecfc0a00cb19e55a5f.meta.json | 2 +- ...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +- ...92030ae5c03d7451980a15735e557edb.meta.json | 2 +- ...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +- ...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +- ...972142778e1ff452383ede2ad4bac3d7.meta.json | 2 +- ...26b315ef6f38515840537c02de23abe2.meta.json | 2 +- ...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +- ...318c41c71c21b0a17d4f68d82c5aee21.meta.json | 2 +- ...6cd7e4ced378cacdb93f76ed227b5c5d.meta.json | 2 +- ...b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json | 2 +- ...41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json | 2 +- ...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +- ...3b69878d351cffd417dc9a457df808af.meta.json | 2 +- .../schemas/providers/ap_south_2/__init__.py | 2 + .../providers/ca_central_1/__init__.py | 1 + .../ca_central_1/aws-lambda-alias.json | 88 --- .../schemas/providers/cn_north_1/__init__.py | 1 - .../providers/cn_north_1/aws-ec2-keypair.json | 126 ++++ .../providers/eu_central_1/__init__.py | 5 - .../aws-ec2-vpngatewayroutepropagation.json | 57 ++ .../eu_central_1/aws-eks-nodegroup.json | 287 ++++++++ .../aws-mediapackagev2-channel.json | 164 +++++ .../aws-mediapackagev2-originendpoint.json | 651 ++++++++++++++++++ .../eu_central_1/aws-s3outposts-bucket.json | 290 ++++++++ .../providers/eu_central_2/__init__.py | 2 + .../providers/il_central_1/__init__.py | 2 + .../schemas/providers/us_east_2/__init__.py | 1 + .../providers/us_east_2/aws-lambda-alias.json | 88 --- .../schemas/providers/us_west_1/__init__.py | 3 +- .../providers/us_west_1/aws-lambda-alias.json | 88 --- .../providers/us_west_1/aws-xray-group.json | 112 +++ .../us_west_1/aws-xray-samplingrule.json | 262 +++++++ .../schemas/providers/us_west_2/__init__.py | 2 - .../us_west_2/aws-dms-replicationconfig.json | 204 ++++++ .../providers/us_west_2/aws-ec2-keypair.json | 126 ++++ 47 files changed, 2313 insertions(+), 299 deletions(-) delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-keypair.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-nodegroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-channel.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-originendpoint.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-s3outposts-bucket.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-lambda-alias.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-lambda-alias.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-xray-group.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-xray-samplingrule.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-dms-replicationconfig.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-keypair.json diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index ba38ac9957..f54d111ba4 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"e307e8687bfecd606f0e899afa9dc391\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"749c9068f073ba11ed92d8f4029a23c7\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json index c7eac535ff..f544792866 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"4ef0c1c5720349e0aa42d8c03f2190c6\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"9286aca32f3660a46de51b0221c2bdea\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json index 3f07e1ffbd..0aa56c167c 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"c4159999fa081b0705a8cc19ad90fb11\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fe9d02abb4d3590a97e31e65250a606d\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json index a39e047d7f..4fd5553ffd 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"86ec8b36787356cf267f5f432a71b88a\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"c6cd0bc987824ed3daae49c88c145aeb\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json index 1fbef7b8ba..94b52279fd 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"990578a386215d4d7dd180c403b696f2\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a848e5dfb5584c375549dde4660a1f00\"", "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 3b580ffd15..727217f9af 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"178d4817771d0ee17f6c632e6263e86d\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"254f06105f3745c6e66914ad2c7e2dbf\"", "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 5d5e5182fe..e78e1bfa92 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"f542e9eb0c8ef1fda4e9accd88d04ec1\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ff4a32c89333039017e2eee607b1b349\"", "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 acda2e9698..eea8267bb0 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"7a84558ed3d76ce6d02ea6d1bf326431\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8d8ec703a4277da8ef3b6579f2fe8a9d\"", "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 bf212e983d..ba105c85f5 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"727a48603159871b28e5fb26effb6547\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f5cc56eae9048cd0d7789e2d4cdd961e\"", "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 e13c9b5e63..b755a3fb43 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"aecc2aa6763a28865b7f195a594bef80\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6a1e588bc97fc5223894ab0fac0e10d7\"", "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 9310bea2bb..807bec076f 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"4b19eb4dbe6984e7ed3559819f5bfb5e\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4c5915a83f6e1915551e026d4afb4e8b\"", "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 5b30eda34e..0e47e515d7 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"947213c21450c8444848f8c5b4846dda\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"415ef1e547315b4a97849b48e6d84cc8\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json index 5cb476ac80..2aaae4eec3 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"ffccd5671a87d141834e154742dae609\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f5008b1229ef5e7e7244bfd10cec1f07\"", "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 7b3dea361a..57e5128da8 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"463e5a886dddb06914d469bac109b95d\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"85f7338926b5f7bc13697aa632342274\"", "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 0f02ea2a61..2f011b2e15 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"b6c9ba76f037123fce8547681caf6c02\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4ec81ebe0866587079d99fb9cab7ef6f\"", "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 e97ecd5e5d..f99e67ff17 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"9767f723613c3d641cbb8690ae37bd53\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8c18f59c79d0e5cc76ea5a475e8d162a\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json index 3a83950a0f..78165ee93f 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"1147baab40516d3a031370d4bc77285e\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"64352770431d1f880ffc7dffb1f13823\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json index 5d2eef745a..d043f88720 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"1949bdac883ab18547ad1e2d650edd28\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5420c97e44c5a24f8202fff983927f49\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json index 41f7440a3a..7cd50773a8 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"4a0b2550d58f623905a8d24bbff19624\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6b7f60071b9742c0e0b6f01dc5dbfc82\"", "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 8cea828c59..a7cb0ebcd7 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"b0fd8e1f3ca585fa159eadb2f2bf2853\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"daed77b24be551876f25ba793ebbf14b\"", "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 dbd95e1dc6..6174522f57 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"88bea80c58b26f8df4bc055c49d9c882\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f150b65623c6498995eb06eefc5f5be6\"", "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 c615442241..b970247787 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"6003f4951dd1c96e9665789bc27c9f3a\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"00d9a1398ad710ca4da246ae3697f73a\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json index 84d990106b..763639491a 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"1b6e43838754f853a2011f6bdbbb9d65\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5906401e5e6945842adf1f57b728cf50\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json index 87dd75f580..71a1bae456 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"98d51c8c91b0f43c1899379c3adf8de1\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7f9f6b737c1268d7914af13d30788adb\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json index 8ea8670957..45399f5048 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"7aba9bac1f6a83caceaad3b7a055c6e7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f40ed4e6475fbd230e93459ca145f04b\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py index d4eecdc54e..62e578329a 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -540,6 +540,7 @@ "AWS::SSO::Instance", "AWS::SSO::InstanceAccessControlAttributeConfiguration", "AWS::SSO::PermissionSet", + "AWS::SageMaker::MlflowTrackingServer", "AWS::SageMaker::ModelCard", "AWS::Scheduler::Schedule", "AWS::Scheduler::ScheduleGroup", @@ -1073,6 +1074,7 @@ "aws-s3-bucketpolicy.json", "aws-s3objectlambda-accesspoint.json", "aws-s3objectlambda-accesspointpolicy.json", + "aws-sagemaker-mlflowtrackingserver.json", "aws-sagemaker-modelcard.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py index 90945ded9d..f1ce112532 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -1682,6 +1682,7 @@ "aws-lakeformation-resource.json", "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", + "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json deleted file mode 100644 index 4a291518b6..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/FunctionName" - ], - "definitions": { - "AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/VersionWeight" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "integer" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AliasRoutingConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "typeName": "AWS::Lambda::Alias" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py index e28d4022f9..9833bbd205 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -890,7 +890,6 @@ "aws-ec2-ipamresourcediscovery.json", "aws-ec2-ipamresourcediscoveryassociation.json", "aws-ec2-ipamscope.json", - "aws-ec2-keypair.json", "aws-ec2-launchtemplate.json", "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-keypair.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-keypair.json new file mode 100644 index 0000000000..0947fab641 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-keypair.json @@ -0,0 +1,126 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/KeyPairId" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KeyName", + "/properties/KeyType", + "/properties/KeyFormat", + "/properties/PublicKeyMaterial", + "/properties/Tags" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ec2:CreateKeyPair", + "ec2:ImportKeyPair", + "ec2:CreateTags", + "ssm:PutParameter" + ] + }, + "delete": { + "permissions": [ + "ec2:DeleteKeyPair", + "ssm:DeleteParameter", + "ec2:DescribeKeyPairs" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeKeyPairs" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeKeyPairs" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyName" + ], + "properties": { + "KeyFingerprint": { + "type": "string" + }, + "KeyFormat": { + "default": "pem", + "enum": [ + "pem", + "ppk" + ], + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "KeyPairId": { + "type": "string" + }, + "KeyType": { + "default": "rsa", + "enum": [ + "rsa", + "ed25519" + ], + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/KeyPairId", + "/properties/KeyFingerprint" + ], + "required": [ + "KeyName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "permissions": [ + "ec2:CreateTags" + ], + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::KeyPair", + "writeOnlyProperties": [ + "/properties/KeyFormat" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py index 745ff4404e..92cf81c82c 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -1664,7 +1664,6 @@ "aws-ec2-vpcpeeringconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", - "aws-ec2-vpngatewayroutepropagation.json", "aws-ecr-pullthroughcacherule.json", "aws-ecr-registrypolicy.json", "aws-ecr-replicationconfiguration.json", @@ -1684,7 +1683,6 @@ "aws-eks-addon.json", "aws-eks-fargateprofile.json", "aws-eks-identityproviderconfig.json", - "aws-eks-nodegroup.json", "aws-eks-podidentityassociation.json", "aws-elasticache-cachecluster.json", "aws-elasticache-globalreplicationgroup.json", @@ -2020,10 +2018,8 @@ "aws-mediapackage-originendpoint.json", "aws-mediapackage-packagingconfiguration.json", "aws-mediapackage-packaginggroup.json", - "aws-mediapackagev2-channel.json", "aws-mediapackagev2-channelgroup.json", "aws-mediapackagev2-channelpolicy.json", - "aws-mediapackagev2-originendpoint.json", "aws-mediapackagev2-originendpointpolicy.json", "aws-mediastore-container.json", "aws-mediatailor-channel.json", @@ -2229,7 +2225,6 @@ "aws-s3objectlambda-accesspoint.json", "aws-s3objectlambda-accesspointpolicy.json", "aws-s3outposts-accesspoint.json", - "aws-s3outposts-bucket.json", "aws-s3outposts-bucketpolicy.json", "aws-s3outposts-endpoint.json", "aws-sagemaker-app.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json new file mode 100644 index 0000000000..95e415765e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json @@ -0,0 +1,57 @@ +{ + "additionalProperties": false, + "handlers": { + "create": { + "permissions": [ + "ec2:EnableVgwRoutePropagation", + "ec2:DescribeRouteTables" + ] + }, + "delete": { + "permissions": [ + "ec2:DisableVgwRoutePropagation", + "ec2:DescribeRouteTables" + ] + }, + "update": { + "permissions": [ + "ec2:EnableVgwRoutePropagation", + "ec2:DescribeRouteTables" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "VpnGatewayId": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPNGatewayRoutePropagation" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-nodegroup.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-nodegroup.json new file mode 100644 index 0000000000..77987deb31 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-nodegroup.json @@ -0,0 +1,287 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CapacityType", + "/properties/NodegroupName", + "/properties/RemoteAccess", + "/properties/NodeRole", + "/properties/ClusterName", + "/properties/InstanceTypes", + "/properties/DiskSize", + "/properties/AmiType", + "/properties/Subnets" + ], + "definitions": { + "LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "minLength": 1, + "type": "string" + }, + "Name": { + "minLength": 1, + "type": "string" + }, + "Version": { + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "minimum": 0, + "type": "integer" + }, + "MaxSize": { + "minimum": 1, + "type": "integer" + }, + "MinSize": { + "minimum": 0, + "type": "integer" + } + }, + "type": "object" + }, + "Taint": { + "additionalProperties": false, + "properties": { + "Effect": { + "minLength": 1, + "type": "string" + }, + "Key": { + "minLength": 1, + "type": "string" + }, + "Value": { + "minLength": 0, + "type": "string" + } + }, + "type": "object" + }, + "UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "minimum": 1, + "type": "number" + }, + "MaxUnavailablePercentage": { + "maximum": 100, + "minimum": 1, + "type": "number" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "eks:CreateNodegroup", + "eks:DescribeNodegroup", + "eks:TagResource", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "ec2:DescribeSecurityGroups", + "ec2:DescribeKeyPairs", + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:DescribeRouteTables", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:RunInstances", + "iam:CreateServiceLinkedRole", + "iam:GetRole", + "iam:PassRole", + "iam:ListAttachedRolePolicies" + ] + }, + "delete": { + "permissions": [ + "eks:DeleteNodegroup", + "eks:DescribeNodegroup" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ClusterName": { + "$ref": "resource-schema.json#/properties/ClusterName" + } + }, + "required": [ + "ClusterName" + ] + }, + "permissions": [ + "eks:ListNodegroups" + ] + }, + "read": { + "permissions": [ + "eks:DescribeNodegroup" + ] + }, + "update": { + "permissions": [ + "iam:GetRole", + "iam:PassRole", + "eks:DescribeNodegroup", + "eks:DescribeUpdate", + "eks:ListUpdates", + "eks:TagResource", + "eks:UntagResource", + "eks:UpdateNodegroupConfig", + "eks:UpdateNodegroupVersion" + ], + "timeoutInMinutes": 2160 + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AmiType": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "CapacityType": { + "type": "string" + }, + "ClusterName": { + "minLength": 1, + "type": "string" + }, + "DiskSize": { + "type": "integer" + }, + "ForceUpdateEnabled": { + "default": false, + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "InstanceTypes": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Labels": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + }, + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "minLength": 1, + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/ScalingConfig" + }, + "Subnets": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + }, + "type": "object" + }, + "Taints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Taint" + }, + "type": "array" + }, + "UpdateConfig": { + "$ref": "#/definitions/UpdateConfig" + }, + "Version": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "ClusterName", + "NodeRole", + "Subnets" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "eks:TagResource", + "eks:UntagResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EKS::Nodegroup", + "writeOnlyProperties": [ + "/properties/ForceUpdateEnabled" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-channel.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-channel.json new file mode 100644 index 0000000000..f2dd6b06fd --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-channel.json @@ -0,0 +1,164 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/ChannelGroupName", + "/properties/ChannelName" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ChannelGroupName", + "/properties/ChannelName", + "/properties/InputType" + ], + "definitions": { + "IngestEndpoint": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "InputType": { + "enum": [ + "HLS", + "CMAF" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "mediapackagev2:TagResource", + "mediapackagev2:CreateChannel" + ] + }, + "delete": { + "permissions": [ + "mediapackagev2:GetChannel", + "mediapackagev2:DeleteChannel" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ChannelGroupName": { + "$ref": "resource-schema.json#/properties/ChannelGroupName" + } + }, + "required": [ + "ChannelGroupName" + ] + }, + "permissions": [ + "mediapackagev2:ListChannels" + ] + }, + "read": { + "permissions": [ + "mediapackagev2:GetChannel" + ] + }, + "update": { + "permissions": [ + "mediapackagev2:TagResource", + "mediapackagev2:UntagResource", + "mediapackagev2:ListTagsForResource", + "mediapackagev2:UpdateChannel" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "type": "string" + }, + "ChannelGroupName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "ChannelName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "IngestEndpointUrls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IngestEndpoints": { + "items": { + "$ref": "#/definitions/IngestEndpoint" + }, + "type": "array" + }, + "InputType": { + "$ref": "#/definitions/InputType" + }, + "ModifiedAt": { + "format": "date-time", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/IngestEndpoints", + "/properties/IngestEndpointUrls", + "/properties/ModifiedAt" + ], + "required": [ + "ChannelGroupName", + "ChannelName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediapackagev2", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaPackageV2::Channel" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-originendpoint.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-originendpoint.json new file mode 100644 index 0000000000..33c30d1062 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-mediapackagev2-originendpoint.json @@ -0,0 +1,651 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/ChannelGroupName", + "/properties/ChannelName", + "/properties/OriginEndpointName" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ChannelGroupName", + "/properties/ChannelName", + "/properties/OriginEndpointName" + ], + "definitions": { + "AdMarkerDash": { + "enum": [ + "BINARY", + "XML" + ], + "type": "string" + }, + "AdMarkerHls": { + "enum": [ + "DATERANGE" + ], + "type": "string" + }, + "CmafEncryptionMethod": { + "enum": [ + "CENC", + "CBCS" + ], + "type": "string" + }, + "ContainerType": { + "enum": [ + "TS", + "CMAF" + ], + "type": "string" + }, + "DashDrmSignaling": { + "enum": [ + "INDIVIDUAL", + "REFERENCED" + ], + "type": "string" + }, + "DashManifestConfiguration": { + "additionalProperties": false, + "properties": { + "DrmSignaling": { + "$ref": "#/definitions/DashDrmSignaling" + }, + "FilterConfiguration": { + "$ref": "#/definitions/FilterConfiguration" + }, + "ManifestName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "integer" + }, + "MinBufferTimeSeconds": { + "type": "integer" + }, + "MinUpdatePeriodSeconds": { + "type": "integer" + }, + "PeriodTriggers": { + "items": { + "$ref": "#/definitions/DashPeriodTrigger" + }, + "maxItems": 100, + "minItems": 0, + "type": "array" + }, + "ScteDash": { + "$ref": "#/definitions/ScteDash" + }, + "SegmentTemplateFormat": { + "$ref": "#/definitions/DashSegmentTemplateFormat" + }, + "SuggestedPresentationDelaySeconds": { + "type": "integer" + }, + "UtcTiming": { + "$ref": "#/definitions/DashUtcTiming" + } + }, + "required": [ + "ManifestName" + ], + "type": "object" + }, + "DashPeriodTrigger": { + "enum": [ + "AVAILS", + "DRM_KEY_ROTATION", + "SOURCE_CHANGES", + "SOURCE_DISRUPTIONS", + "NONE" + ], + "type": "string" + }, + "DashSegmentTemplateFormat": { + "enum": [ + "NUMBER_WITH_TIMELINE" + ], + "type": "string" + }, + "DashUtcTiming": { + "additionalProperties": false, + "properties": { + "TimingMode": { + "$ref": "#/definitions/DashUtcTimingMode" + }, + "TimingSource": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "DashUtcTimingMode": { + "enum": [ + "HTTP_HEAD", + "HTTP_ISO", + "HTTP_XSDATE", + "UTC_DIRECT" + ], + "type": "string" + }, + "DrmSystem": { + "enum": [ + "CLEAR_KEY_AES_128", + "FAIRPLAY", + "PLAYREADY", + "WIDEVINE" + ], + "type": "string" + }, + "Encryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "maxLength": 32, + "minLength": 32, + "pattern": "^[0-9a-fA-F]+$", + "type": "string" + }, + "EncryptionMethod": { + "$ref": "#/definitions/EncryptionMethod" + }, + "KeyRotationIntervalSeconds": { + "maximum": 31536000, + "minimum": 300, + "type": "integer" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/SpekeKeyProvider" + } + }, + "required": [ + "EncryptionMethod", + "SpekeKeyProvider" + ], + "type": "object" + }, + "EncryptionContractConfiguration": { + "additionalProperties": false, + "properties": { + "PresetSpeke20Audio": { + "$ref": "#/definitions/PresetSpeke20Audio" + }, + "PresetSpeke20Video": { + "$ref": "#/definitions/PresetSpeke20Video" + } + }, + "required": [ + "PresetSpeke20Audio", + "PresetSpeke20Video" + ], + "type": "object" + }, + "EncryptionMethod": { + "additionalProperties": false, + "properties": { + "CmafEncryptionMethod": { + "$ref": "#/definitions/CmafEncryptionMethod" + }, + "TsEncryptionMethod": { + "$ref": "#/definitions/TsEncryptionMethod" + } + }, + "type": "object" + }, + "EndpointErrorCondition": { + "enum": [ + "STALE_MANIFEST", + "INCOMPLETE_MANIFEST", + "MISSING_DRM_KEY", + "SLATE_INPUT" + ], + "type": "string" + }, + "FilterConfiguration": { + "additionalProperties": false, + "properties": { + "End": { + "format": "date-time", + "type": "string" + }, + "ManifestFilter": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "Start": { + "format": "date-time", + "type": "string" + }, + "TimeDelaySeconds": { + "maximum": 1209600, + "minimum": 0, + "type": "integer" + } + }, + "type": "object" + }, + "ForceEndpointErrorConfiguration": { + "additionalProperties": false, + "properties": { + "EndpointErrorConditions": { + "items": { + "$ref": "#/definitions/EndpointErrorCondition" + }, + "type": "array" + } + }, + "type": "object" + }, + "HlsManifestConfiguration": { + "additionalProperties": false, + "properties": { + "ChildManifestName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "FilterConfiguration": { + "$ref": "#/definitions/FilterConfiguration" + }, + "ManifestName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "integer" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "integer" + }, + "ScteHls": { + "$ref": "#/definitions/ScteHls" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ManifestName" + ], + "type": "object" + }, + "LowLatencyHlsManifestConfiguration": { + "additionalProperties": false, + "properties": { + "ChildManifestName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "FilterConfiguration": { + "$ref": "#/definitions/FilterConfiguration" + }, + "ManifestName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "integer" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "integer" + }, + "ScteHls": { + "$ref": "#/definitions/ScteHls" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ManifestName" + ], + "type": "object" + }, + "PresetSpeke20Audio": { + "enum": [ + "PRESET_AUDIO_1", + "PRESET_AUDIO_2", + "PRESET_AUDIO_3", + "SHARED", + "UNENCRYPTED" + ], + "type": "string" + }, + "PresetSpeke20Video": { + "enum": [ + "PRESET_VIDEO_1", + "PRESET_VIDEO_2", + "PRESET_VIDEO_3", + "PRESET_VIDEO_4", + "PRESET_VIDEO_5", + "PRESET_VIDEO_6", + "PRESET_VIDEO_7", + "PRESET_VIDEO_8", + "SHARED", + "UNENCRYPTED" + ], + "type": "string" + }, + "Scte": { + "additionalProperties": false, + "properties": { + "ScteFilter": { + "items": { + "$ref": "#/definitions/ScteFilter" + }, + "maxItems": 100, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + }, + "ScteDash": { + "additionalProperties": false, + "properties": { + "AdMarkerDash": { + "$ref": "#/definitions/AdMarkerDash" + } + }, + "type": "object" + }, + "ScteFilter": { + "enum": [ + "SPLICE_INSERT", + "BREAK", + "PROVIDER_ADVERTISEMENT", + "DISTRIBUTOR_ADVERTISEMENT", + "PROVIDER_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", + "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY", + "PROGRAM" + ], + "type": "string" + }, + "ScteHls": { + "additionalProperties": false, + "properties": { + "AdMarkerHls": { + "$ref": "#/definitions/AdMarkerHls" + } + }, + "type": "object" + }, + "Segment": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/Encryption" + }, + "IncludeIframeOnlyStreams": { + "type": "boolean" + }, + "Scte": { + "$ref": "#/definitions/Scte" + }, + "SegmentDurationSeconds": { + "maximum": 30, + "minimum": 1, + "type": "integer" + }, + "SegmentName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "TsIncludeDvbSubtitles": { + "type": "boolean" + }, + "TsUseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "DrmSystems": { + "items": { + "$ref": "#/definitions/DrmSystem" + }, + "maxItems": 4, + "minItems": 1, + "type": "array" + }, + "EncryptionContractConfiguration": { + "$ref": "#/definitions/EncryptionContractConfiguration" + }, + "ResourceId": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[0-9a-zA-Z_-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Url": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DrmSystems", + "EncryptionContractConfiguration", + "ResourceId", + "RoleArn", + "Url" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "TsEncryptionMethod": { + "enum": [ + "AES_128", + "SAMPLE_AES" + ], + "type": "string" + } + }, + "handlers": { + "create": { + "permissions": [ + "mediapackagev2:TagResource", + "mediapackagev2:CreateOriginEndpoint", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "mediapackagev2:GetOriginEndpoint", + "mediapackagev2:DeleteOriginEndpoint" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ChannelGroupName": { + "$ref": "resource-schema.json#/properties/ChannelGroupName" + }, + "ChannelName": { + "$ref": "resource-schema.json#/properties/ChannelName" + } + }, + "required": [ + "ChannelGroupName", + "ChannelName" + ] + }, + "permissions": [ + "mediapackagev2:ListOriginEndpoints" + ] + }, + "read": { + "permissions": [ + "mediapackagev2:GetOriginEndpoint" + ] + }, + "update": { + "permissions": [ + "mediapackagev2:TagResource", + "mediapackagev2:UntagResource", + "mediapackagev2:ListTagsForResource", + "mediapackagev2:UpdateOriginEndpoint", + "iam:PassRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "type": "string" + }, + "ChannelGroupName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "ChannelName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "ContainerType": { + "$ref": "#/definitions/ContainerType" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "DashManifestUrls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DashManifests": { + "items": { + "$ref": "#/definitions/DashManifestConfiguration" + }, + "type": "array" + }, + "Description": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ForceEndpointErrorConfiguration": { + "$ref": "#/definitions/ForceEndpointErrorConfiguration" + }, + "HlsManifestUrls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/HlsManifestConfiguration" + }, + "type": "array" + }, + "LowLatencyHlsManifestUrls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LowLatencyHlsManifests": { + "items": { + "$ref": "#/definitions/LowLatencyHlsManifestConfiguration" + }, + "type": "array" + }, + "ModifiedAt": { + "format": "date-time", + "type": "string" + }, + "OriginEndpointName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/Segment" + }, + "StartoverWindowSeconds": { + "maximum": 1209600, + "minimum": 60, + "type": "integer" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/DashManifestUrls", + "/properties/HlsManifestUrls", + "/properties/LowLatencyHlsManifestUrls", + "/properties/ModifiedAt", + "/properties/LowLatencyHlsManifests/*/Url", + "/properties/HlsManifests/*/Url" + ], + "required": [ + "ChannelGroupName", + "ChannelName", + "OriginEndpointName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediapackagev2", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::MediaPackageV2::OriginEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-s3outposts-bucket.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-s3outposts-bucket.json new file mode 100644 index 0000000000..973a61ee87 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-s3outposts-bucket.json @@ -0,0 +1,290 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/BucketName", + "/properties/OutpostId" + ], + "definitions": { + "AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "FilterAndOperator": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Prefix": { + "$ref": "#/definitions/FilterPrefix" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterTag" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Tags" + ], + "type": "object" + } + ] + }, + "FilterPrefix": { + "type": "string" + }, + "FilterTag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:=+\\/\\-@%]*)$", + "type": "string" + }, + "Value": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:=+\\/\\-@%]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Rule" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "Status", + "AbortIncompleteMultipartUpload" + ] + }, + { + "required": [ + "Status", + "ExpirationDate" + ] + }, + { + "required": [ + "Status", + "ExpirationInDays" + ] + } + ], + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "$ref": "#/definitions/iso8601UTC" + }, + "ExpirationInDays": { + "minimum": 1, + "type": "integer" + }, + "Filter": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "Prefix" + ] + }, + { + "required": [ + "Tag" + ] + }, + { + "required": [ + "AndOperator" + ] + } + ], + "properties": { + "AndOperator": { + "$ref": "#/definitions/FilterAndOperator" + }, + "Prefix": { + "$ref": "#/definitions/FilterPrefix" + }, + "Tag": { + "$ref": "#/definitions/FilterTag" + } + }, + "type": "object" + }, + "Id": { + "maxLength": 255, + "type": "string" + }, + "Status": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!aws:.*)([\\p{L}\\p{Z}\\p{N}_.:=+\\/\\-@%]*)$", + "type": "string" + }, + "Value": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:=+\\/\\-@%]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "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": [ + "s3-outposts:CreateBucket", + "s3-outposts:PutBucketTagging", + "s3-outposts:PutLifecycleConfiguration" + ] + }, + "delete": { + "permissions": [ + "s3-outposts:DeleteBucket" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "OutpostId": { + "$ref": "resource-schema.json#/properties/OutpostId" + } + }, + "required": [ + "OutpostId" + ] + }, + "permissions": [ + "s3-outposts:ListRegionalBuckets" + ] + }, + "read": { + "permissions": [ + "s3-outposts:GetBucket", + "s3-outposts:GetBucketTagging", + "s3-outposts:GetLifecycleConfiguration" + ] + }, + "update": { + "permissions": [ + "s3-outposts:PutBucketTagging", + "s3-outposts:DeleteBucketTagging", + "s3-outposts:PutLifecycleConfiguration" + ] + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:[^:]+:s3-outposts:[a-zA-Z0-9\\-]+:\\d{12}:outpost\\/[^:]+\\/bucket\\/[^:]+$", + "type": "string" + }, + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "(?=^.{3,63}$)(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$)", + "type": "string" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/LifecycleConfiguration" + }, + "OutpostId": { + "pattern": "^(op-[a-f0-9]{17}|\\d{12}|ec2)$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "BucketName", + "OutpostId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-s3outposts.git", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "s3-outposts:DeleteBucketTagging", + "s3-outposts:PutBucketTagging", + "s3-outposts:GetBucketTagging" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::S3Outposts::Bucket" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py index 3618b47855..ac08ba4d33 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -541,6 +541,7 @@ "AWS::SSO::Instance", "AWS::SSO::InstanceAccessControlAttributeConfiguration", "AWS::SSO::PermissionSet", + "AWS::SageMaker::MlflowTrackingServer", "AWS::SageMaker::ModelCard", "AWS::Scheduler::Schedule", "AWS::Scheduler::ScheduleGroup", @@ -1075,6 +1076,7 @@ "aws-s3-bucketpolicy.json", "aws-s3objectlambda-accesspoint.json", "aws-s3objectlambda-accesspointpolicy.json", + "aws-sagemaker-mlflowtrackingserver.json", "aws-sagemaker-modelcard.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py index 9405479927..fb33490262 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -571,6 +571,7 @@ "AWS::SageMaker::FeatureGroup", "AWS::SageMaker::Image", "AWS::SageMaker::ImageVersion", + "AWS::SageMaker::MlflowTrackingServer", "AWS::SageMaker::ModelCard", "AWS::SageMaker::ModelPackage", "AWS::SageMaker::ModelPackageGroup", @@ -1116,6 +1117,7 @@ "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", "aws-sagemaker-imageversion.json", + "aws-sagemaker-mlflowtrackingserver.json", "aws-sagemaker-modelcard.json", "aws-sagemaker-modelpackage.json", "aws-sagemaker-modelpackagegroup.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py index 12191f4e7f..a12a49749f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -1783,6 +1783,7 @@ "aws-lakeformation-resource.json", "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", + "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-lambda-alias.json deleted file mode 100644 index 4a291518b6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-lambda-alias.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/FunctionName" - ], - "definitions": { - "AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/VersionWeight" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "integer" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AliasRoutingConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "typeName": "AWS::Lambda::Alias" -} 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 494eb30be3..9c34e8d1f4 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -1455,6 +1455,7 @@ "aws-lakeformation-resource.json", "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", + "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", @@ -1807,8 +1808,6 @@ "aws-wafv2-webacl.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", - "aws-xray-group.json", "aws-xray-resourcepolicy.json", - "aws-xray-samplingrule.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-lambda-alias.json deleted file mode 100644 index 4a291518b6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-lambda-alias.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/FunctionName" - ], - "definitions": { - "AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/VersionWeight" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "integer" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AliasRoutingConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "typeName": "AWS::Lambda::Alias" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-xray-group.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-xray-group.json new file mode 100644 index 0000000000..bbb33a124e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-xray-group.json @@ -0,0 +1,112 @@ +{ + "additionalProperties": false, + "definitions": { + "InsightsConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsEnabled": { + "type": "boolean" + }, + "NotificationsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "handlers": { + "create": { + "permissions": [ + "xray:CreateGroup", + "xray:TagResource" + ] + }, + "delete": { + "permissions": [ + "xray:DeleteGroup" + ] + }, + "list": { + "permissions": [ + "xray:GetGroups", + "xray:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "xray:GetGroup", + "xray:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "xray:UpdateGroup", + "xray:TagResource", + "xray:UntagResource", + "xray:ListTagsForResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/GroupARN" + ], + "properties": { + "FilterExpression": { + "type": "string" + }, + "GroupARN": { + "maxLength": 400, + "minLength": 1, + "type": "string" + }, + "GroupName": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "InsightsConfiguration": { + "$ref": "#/definitions/InsightsConfiguration" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "readOnlyProperties": [ + "/properties/GroupARN" + ], + "required": [ + "GroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::XRay::Group" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-xray-samplingrule.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-xray-samplingrule.json new file mode 100644 index 0000000000..e225d39670 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-xray-samplingrule.json @@ -0,0 +1,262 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/SamplingRule/Version" + ], + "definitions": { + "RuleARN": { + "type": "string" + }, + "RuleName": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "SamplingRule": { + "additionalProperties": false, + "properties": { + "Attributes": { + "$comment": "String to string map", + "additionalProperties": false, + "patternProperties": { + ".{1,}": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "HTTPMethod": { + "maxLength": 10, + "type": "string" + }, + "Host": { + "maxLength": 64, + "type": "string" + }, + "Priority": { + "maximum": 9999, + "minimum": 1, + "type": "integer" + }, + "ReservoirSize": { + "minimum": 0, + "type": "integer" + }, + "ResourceARN": { + "maxLength": 500, + "type": "string" + }, + "RuleARN": { + "$ref": "#/definitions/RuleARN" + }, + "RuleName": { + "$ref": "#/definitions/RuleName" + }, + "ServiceName": { + "maxLength": 64, + "type": "string" + }, + "ServiceType": { + "maxLength": 64, + "type": "string" + }, + "URLPath": { + "maxLength": 128, + "type": "string" + }, + "Version": { + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "FixedRate", + "Host", + "HTTPMethod", + "Priority", + "ReservoirSize", + "ResourceARN", + "ServiceName", + "ServiceType", + "URLPath" + ], + "type": "object" + }, + "SamplingRuleRecord": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/SamplingRule" + } + }, + "type": "object" + }, + "SamplingRuleUpdate": { + "additionalProperties": false, + "properties": { + "Attributes": { + "$comment": "String to string map", + "additionalProperties": false, + "patternProperties": { + ".{1,}": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "HTTPMethod": { + "maxLength": 10, + "type": "string" + }, + "Host": { + "maxLength": 64, + "type": "string" + }, + "Priority": { + "maximum": 9999, + "minimum": 1, + "type": "integer" + }, + "ReservoirSize": { + "minimum": 0, + "type": "integer" + }, + "ResourceARN": { + "maxLength": 500, + "type": "string" + }, + "RuleARN": { + "$ref": "#/definitions/RuleARN" + }, + "RuleName": { + "$ref": "#/definitions/RuleName" + }, + "ServiceName": { + "maxLength": 64, + "type": "string" + }, + "ServiceType": { + "maxLength": 64, + "type": "string" + }, + "URLPath": { + "maxLength": 128, + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "deprecatedProperties": [ + "/properties/RuleName", + "/properties/SamplingRuleRecord", + "/properties/SamplingRuleUpdate" + ], + "handlers": { + "create": { + "permissions": [ + "xray:CreateSamplingRule", + "xray:TagResource" + ] + }, + "delete": { + "permissions": [ + "xray:DeleteSamplingRule" + ] + }, + "list": { + "permissions": [ + "xray:GetSamplingRules", + "xray:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "xray:GetSamplingRules", + "xray:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "xray:UpdateSamplingRule", + "xray:TagResource", + "xray:UntagResource", + "xray:ListTagsForResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/RuleARN" + ], + "properties": { + "RuleARN": { + "$ref": "#/definitions/RuleARN" + }, + "RuleName": { + "$ref": "#/definitions/RuleName" + }, + "SamplingRule": { + "$ref": "#/definitions/SamplingRule" + }, + "SamplingRuleRecord": { + "$ref": "#/definitions/SamplingRuleRecord" + }, + "SamplingRuleUpdate": { + "$ref": "#/definitions/SamplingRuleUpdate" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "readOnlyProperties": [ + "/properties/RuleARN" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::XRay::SamplingRule" +} 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 6d66b9d2d1..2e70097ad4 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -1612,7 +1612,6 @@ "aws-dms-eventsubscription.json", "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", - "aws-dms-replicationconfig.json", "aws-dms-replicationinstance.json", "aws-dms-replicationsubnetgroup.json", "aws-dms-replicationtask.json", @@ -1651,7 +1650,6 @@ "aws-ec2-ipamresourcediscovery.json", "aws-ec2-ipamresourcediscoveryassociation.json", "aws-ec2-ipamscope.json", - "aws-ec2-keypair.json", "aws-ec2-launchtemplate.json", "aws-ec2-localgatewayroute.json", "aws-ec2-localgatewayroutetable.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-dms-replicationconfig.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-dms-replicationconfig.json new file mode 100644 index 0000000000..83b9074702 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-dms-replicationconfig.json @@ -0,0 +1,204 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/ReplicationConfigIdentifier" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ResourceIdentifier" + ], + "definitions": { + "ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "integer" + }, + "MinCapacityUnits": { + "type": "integer" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "dms:CreateReplicationConfig", + "dms:AddTagsToResource", + "dms:ListTagsForResource", + "iam:CreateServiceLinkedRole", + "iam:AttachRolePolicy", + "iam:PutRolePolicy", + "iam:UpdateRoleDescription" + ] + }, + "delete": { + "permissions": [ + "dms:DescribeReplicationConfigs", + "dms:DeleteReplicationConfig", + "dms:ListTagsForResource", + "iam:DeleteServiceLinkedRole", + "iam:GetServiceLinkedRoleDeletionStatus" + ] + }, + "list": { + "permissions": [ + "dms:DescribeReplicationConfigs", + "dms:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "dms:DescribeReplicationConfigs", + "dms:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "dms:ModifyReplicationConfig", + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource", + "iam:CreateServiceLinkedRole", + "iam:AttachRolePolicy", + "iam:PutRolePolicy", + "iam:UpdateRoleDescription" + ] + } + }, + "primaryIdentifier": [ + "/properties/ReplicationConfigArn" + ], + "properties": { + "ComputeConfig": { + "$ref": "#/definitions/ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "ReplicationType": { + "enum": [ + "full-load", + "full-load-and-cdc", + "cdc" + ], + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "TableMappings": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/ReplicationConfigArn" + ], + "required": [ + "ReplicationConfigIdentifier", + "SourceEndpointArn", + "TargetEndpointArn", + "ReplicationType", + "ComputeConfig", + "TableMappings" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms", + "tagging": { + "cloudFormationSystemTags": false, + "permissions": [ + "dms:AddTagsToResource", + "dms:ListTagsForResource", + "dms:RemoveTagsFromResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::DMS::ReplicationConfig" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-keypair.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-keypair.json new file mode 100644 index 0000000000..0947fab641 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-keypair.json @@ -0,0 +1,126 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/KeyPairId" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KeyName", + "/properties/KeyType", + "/properties/KeyFormat", + "/properties/PublicKeyMaterial", + "/properties/Tags" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ec2:CreateKeyPair", + "ec2:ImportKeyPair", + "ec2:CreateTags", + "ssm:PutParameter" + ] + }, + "delete": { + "permissions": [ + "ec2:DeleteKeyPair", + "ssm:DeleteParameter", + "ec2:DescribeKeyPairs" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeKeyPairs" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeKeyPairs" + ] + } + }, + "primaryIdentifier": [ + "/properties/KeyName" + ], + "properties": { + "KeyFingerprint": { + "type": "string" + }, + "KeyFormat": { + "default": "pem", + "enum": [ + "pem", + "ppk" + ], + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "KeyPairId": { + "type": "string" + }, + "KeyType": { + "default": "rsa", + "enum": [ + "rsa", + "ed25519" + ], + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/KeyPairId", + "/properties/KeyFingerprint" + ], + "required": [ + "KeyName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "permissions": [ + "ec2:CreateTags" + ], + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::EC2::KeyPair", + "writeOnlyProperties": [ + "/properties/KeyFormat" + ] +}