diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index e25dd5a731..dfbb5c8695 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -1168,6 +1168,7 @@ "GetBackupVaultNotifications", "GetBackupVaultSharingPolicy", "GetLegalHold", + "GetRecoveryPointIndexDetails", "GetRecoveryPointRestoreMetadata", "GetRestoreJobMetadata", "GetRestoreTestingInferredMetadata", @@ -1184,6 +1185,8 @@ "ListCopyJobSummaries", "ListCopyJobs", "ListFrameworks", + "ListIndexedRecoveryPoints", + "ListIndexedRecoveryPointsForSearch", "ListLegalHolds", "ListProtectedResources", "ListProtectedResourcesByBackupVault", @@ -1203,6 +1206,7 @@ "PutBackupVaultNotifications", "PutBackupVaultSharingPolicy", "PutRestoreValidationResult", + "SearchRecoveryPoint", "StartBackupJob", "StartCopyJob", "StartReportJob", @@ -1213,6 +1217,7 @@ "UpdateBackupPlan", "UpdateFramework", "UpdateGlobalSettings", + "UpdateRecoveryPointIndexSettings", "UpdateRecoveryPointLifecycle", "UpdateRegionSettings", "UpdateReportPlan", @@ -1229,6 +1234,7 @@ "backup:CopyTargetOrgPaths", "backup:CopyTargets", "backup:FrameworkArns", + "backup:Index", "backup:MaxRetentionDays", "backup:MinRetentionDays" ] @@ -1273,6 +1279,31 @@ "aws:TagKeys" ] }, + "AWS Backup Search": { + "ARNFormat": "arn:aws:backup-search:${Region}:${Account}:${ResourceType}:${ResourceName}", + "ARNRegex": "^arn:aws:backup-search:.+:.+:.+", + "Actions": [ + "GetSearchJob", + "GetSearchResultExportJob", + "ListSearchJobBackups", + "ListSearchJobResults", + "ListSearchJobs", + "ListSearchResultExportJobs", + "ListTagsForResource", + "StartSearchJob", + "StartSearchResultExportJob", + "StopSearchJob", + "TagResource", + "UntagResource" + ], + "HasResource": true, + "StringPrefix": "backup-search", + "conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ] + }, "AWS Backup storage": { "ARNFormat": "arn:${Partition}:backup-storage:${Region}:${Account}:${ResourceType}:${ResourceName}", "ARNRegex": "^^arn:aws:backup-storage:.+:.+:.+", @@ -1337,6 +1368,7 @@ "batch:AWSLogsRegion", "batch:AWSLogsStreamPrefix", "batch:EKSImage", + "batch:EKSNamespace", "batch:EKSPrivileged", "batch:EKSRunAsGroup", "batch:EKSRunAsUser", @@ -4818,14 +4850,31 @@ "ARNFormat": "arn:aws:elemental-support-cases::${Account}:${ResourceType}/${ResourceId}", "ARNRegex": "^arn:aws:elemental-support-cases::.+:.+", "Actions": [ + "AddCaseComment", "CheckCasePermission", + "CompleteMultipartUpload", "CreateCase", + "CreateS3CLIUploadCommand", + "CreateS3DownloadUrl", "GetCase", + "GetCasePermission", "GetCases", - "UpdateCase" + "GetUICache", + "ListTagsForCase", + "StartMultipartUpload", + "TagCase", + "UntagCase", + "UpdateCase", + "UpdateCaseStatus", + "UpdateMultipartUpload" ], "HasResource": true, - "StringPrefix": "elemental-support-cases" + "StringPrefix": "elemental-support-cases", + "conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ] }, "AWS Elemental Support Content": { "ARNFormat": "arn:${Partition}:elemental-support-content:${Region}:${Account}:${ResourceType}/${ResourceName}", @@ -6665,6 +6714,7 @@ "GetRegistrationCode", "GetRetainedMessage", "GetStatistics", + "GetThingConnectivityData", "GetThingShadow", "GetTopicRule", "GetTopicRuleDestination", diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index c1b9e723d2..a341310c20 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"cfa18b63c75f892d688213ad42906824\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0900cbaf5fe3b01650bc427852ebb008\"", "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 a05fcd2cb6..1a1646d465 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"41b47fb197bb3002346132a5aec11f26\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"4b03775d91c6700a2ff9dd819ac6394f\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json index 4a0ff19ccd..db217b401b 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"afb08056587f4eb39577a7a73b0e6f38\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"00c05608b231aed23acd0b87476ccd76\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json index 90d32e6bfc..960d50fa15 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"953bef7d4ca299f952e64391f7c978ad\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8801da1ae86a38c508fdfd1a565ab28d\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json index 4204485fc2..f1a7c4b912 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"830d885c1819298abdd7292d98b8b75a\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"56fb4bc873afd96ca962e5428baa45ff\"", "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 8058f0ea9a..3bd2f6b4c0 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"477a9abe80b393c588b38fb8cd27bb31\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cac7cd852b8de8d45b386b72d3f3cd9f\"", "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 cb5bf09f99..f230ba3b98 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"4a180ebc9f0717d66a03351d6d1f1594\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9a17345bcfaea3728ba20fb1d2602567\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json index 6a7a0314e7..edc26a9035 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"4625bc77f8fa7de175352bf915d5260f\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"406a6d098f085655bf71cb73a71b4a2a\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json index f482f59645..d72f0187d5 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"24350d8000bcc06476ca6a2b5abf6946\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"fafd7e74c69460f9c770b3411422ccf9\"", "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 b057865ef0..d059d2cdb7 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"ed17d69251e1b6b228c3af1b65b62c61\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7217b7c20d196f318ea4fc82c00682b1\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json index 87c949247c..b4c44b5d92 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"a2b6157f7a63df6a82eefd7486ad6ed4\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"094b5a4d9d8e6b7abee126a7c2b91657\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json index b76dae70d6..19eb306236 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"876dbed81eb5597fb1cef3dc1d708e2d\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9f7b3b129629e44a541edc0503cd4035\"", "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 fcf36ea0fd..31f793ce4a 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"3106da9544d9365c9292863eebd00da7\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"261cb9244d2661a6686399e5d3ab5813\"", "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 80ce1385b3..d80a05b064 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"a05ff7779b152bfe54179af0d2b60cd8\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e1e9eadf01896ad807a80182f97925af\"", "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 a0dbf9df85..2d41d2d7e8 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"40ae094897f8afa0fccb59c17032a3ae\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"470f9978774578cb6f37bd0aa4330a5c\"", "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 81cab7c2a8..a5e68b6457 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"2d59af9cb6598338ebd2ce66925f966f\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"961d94660d11bfb16fc2946aed1fc679\"", "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 775ec96813..9a1fa653ed 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"1e017683f6c1b268584c48da26b001b6\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9e4ce7a8889a24d1da0f1540252add9d\"", "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 e66d95309b..1e20d0acb9 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"56d6b0977b25a6ef072bd28e57792ff8\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1ae3d0f3695e1832550fcb5c004f1afb\"", "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 fdf6fd2fd3..b29e6848f6 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"396c14ac727ee1a5098ebc63f5213a78\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a56d53b307e5de59242c8fee424326a8\"", "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 ddaa12a881..19fe4c7953 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"7c7b8263f3619364a5552b7a77523da3\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e1f31f9e90158c2706cdbaa0ef35a4af\"", "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 55cac11e72..d69dc838cc 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"780d45d8953b2cb6aef93b87416d45e9\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"659f42140c22e71abb54176af39cdb8d\"", "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 44e3561851..f4b7b2e772 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"7f9302f5fbc9b56e96ddc8fb1de1cb7a\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5779df524ac1860f864436fc63293e84\"", "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 8b8adea9e9..5f55ea5fb3 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"e47a327d66283dc0fe6d115af1503530\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0bde3509d4a34701484ecf8b19b61bbf\"", "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 846c0099b6..24083c8ecd 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"1db613a413ecf2690215d317da83f26c\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"20d5e7516bc8f7f06d24548614a07fcf\"", "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 f6f2eb9798..56a784a708 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"1133a4db713965ee034976974e267235\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"183cf95c33596b37e270fa92460957dc\"", "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 68f5f1e0e2..86fa8a3349 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"ae38d423f88c338ff4f64af9104edd10\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"eb2cc80c19eefd0d0d0ad69f8a282453\"", "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 bf0ee5da7e..bc68cc1cef 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"aeb3072e0883672997dd95f51febfa3b\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"24570f0356b1ed42e2db14a4976e3e08\"", "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 9f8b49b66a..1f17f6dbde 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"9e9c475422de3d3df186fef3faa11518\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d8d1214708341c6fd28df83334aa7c8c\"", "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 580160fa3f..90709699b4 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"329f88ba858eb6032e6222839607e1d4\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8940dfd1a1e19cf241cf09e7b58b44d3\"", "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 48b12d9c53..b4b93b64ec 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"5b094ba1ccfef88abdde185f977a57d1\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e817e60a6e5fa78118ff716e08a96961\"", "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 bed0dde983..b309065c86 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"0cab430bced2261c353057eb27cabcbc\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2f1799cda91d96ee0c9e37f41750d1e9\"", "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 8fbe9f102d..b145f57e9f 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"6b3238c75f3535f394ba75b85af17309\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0356a857e07d011132cf15e9b00d4c33\"", "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 0750bfdda2..7697e5b886 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"b009aa3b42196da197b24d7bff64890d\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1c22cbe084bb0921befcb8c0ed08cd30\"", "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 0db3b3a27b..a75dd11cd0 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"5f38c162b5f86cdc98cebb2a0d0f53c0\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4b819a8bc9744cb1ddb8818e88ad7d37\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json index 3716bd795c..d105dae4dc 100644 --- a/src/cfnlint/data/Serverless/ManagedPolicies.json +++ b/src/cfnlint/data/Serverless/ManagedPolicies.json @@ -83,6 +83,8 @@ "AWSBackupServiceLinkedRolePolicyForBackup": "arn:aws:iam::aws:policy/aws-service-role/AWSBackupServiceLinkedRolePolicyForBackup", "AWSBackupServiceLinkedRolePolicyForBackupTest": "arn:aws:iam::aws:policy/aws-service-role/AWSBackupServiceLinkedRolePolicyForBackupTest", "AWSBackupServiceRolePolicyForBackup": "arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup", + "AWSBackupServiceRolePolicyForIndexing": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForIndexing", + "AWSBackupServiceRolePolicyForItemRestores": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForItemRestores", "AWSBackupServiceRolePolicyForRestores": "arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForRestores", "AWSBackupServiceRolePolicyForS3Backup": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Backup", "AWSBackupServiceRolePolicyForS3Restore": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore", diff --git a/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json b/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json index 8622e2ac70..0e6ddedc0a 100644 --- a/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json @@ -23,6 +23,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -50,6 +56,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -77,6 +89,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -104,6 +122,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -131,6 +155,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -158,6 +188,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -185,6 +221,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -212,6 +254,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -239,6 +287,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -266,6 +320,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -293,6 +353,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -320,6 +386,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -347,6 +419,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -374,6 +452,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -401,6 +485,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -428,6 +518,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -455,6 +551,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -482,6 +584,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -509,6 +617,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -536,6 +650,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -563,6 +683,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -590,6 +716,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -617,6 +749,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -644,6 +782,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json index eca8e7f227..8f73f17531 100644 --- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json @@ -815,6 +815,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1707,6 +1708,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -2599,6 +2601,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -3491,6 +3494,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -4383,6 +4387,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -5275,6 +5280,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -6167,6 +6173,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -7059,6 +7066,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -7951,6 +7959,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -8843,6 +8852,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -9735,6 +9745,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -10627,6 +10638,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -11519,6 +11531,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -12411,6 +12424,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -13303,6 +13317,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -14195,6 +14210,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -15087,6 +15103,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -15979,6 +15996,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -16871,6 +16889,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -17763,6 +17782,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -18655,6 +18675,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -19547,6 +19568,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -20439,6 +20461,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -21331,6 +21354,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -22223,6 +22247,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -23115,6 +23140,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -24007,6 +24033,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -24899,6 +24926,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -25791,6 +25819,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -26683,6 +26712,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -27575,6 +27605,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -28467,6 +28498,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -29359,6 +29391,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -30251,6 +30284,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json new file mode 100644 index 0000000000..aaec71b58a --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json @@ -0,0 +1,7 @@ +[ + { + "op": "add", + "path": "/definitions/BucketOwner/pattern", + "value": "^[0-9]{12}$" + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json new file mode 100644 index 0000000000..0b95be6bd0 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json @@ -0,0 +1,12 @@ +[ + { + "op": "add", + "path": "/definitions/SubnetId/pattern", + "value": "subnet-\\w{8,17}" + }, + { + "op": "add", + "path": "/definitions/SecurityGroupId/pattern", + "value": "sg-\\w{8,17}" + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_computenodegroup/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_computenodegroup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json index 00f5444225..350677f8a9 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json @@ -20,6 +20,6 @@ { "op": "add", "path": "/definitions/S3Encryption/properties/KmsKeyArn/pattern", - "value": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+" + "value": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2,4}(-[a-z]{2,4})?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+" } ] diff --git a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py index 64db423a4b..cc251c6380 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -890,6 +890,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -981,11 +982,9 @@ "aws-chatbot-slackchannelconfiguration.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-moduledefaultversion.json", "aws-cloudformation-moduleversion.json", @@ -1088,7 +1087,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1165,6 +1163,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -1223,6 +1222,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1261,8 +1261,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", @@ -1462,9 +1460,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1630,6 +1626,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-guardhook.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-guardhook.json index e76b67f036..b56ab15d13 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-guardhook.json @@ -74,8 +74,7 @@ "enum": [ "RESOURCE", "STACK", - "CHANGE_SET", - "CLOUD_CONTROL" + "CHANGE_SET" ], "type": "string" } @@ -85,7 +84,7 @@ ], "properties": { "Alias": { - "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type": "string" }, "ExecutionRole": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-lambdahook.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-lambdahook.json index bec5b2634e..1eb7a9f78a 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-lambdahook.json @@ -58,8 +58,7 @@ "enum": [ "RESOURCE", "STACK", - "CHANGE_SET", - "CLOUD_CONTROL" + "CHANGE_SET" ], "type": "string" } @@ -69,7 +68,7 @@ ], "properties": { "Alias": { - "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type": "string" }, "ExecutionRole": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-databrew-dataset.json similarity index 96% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-databrew-dataset.json index ff369cfd19..58187f9b37 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-databrew-dataset.json @@ -5,11 +5,6 @@ "/properties/Tags" ], "definitions": { - "BucketOwner": { - "maxLength": 12, - "minLength": 12, - "type": "string" - }, "CsvOptions": { "additionalProperties": false, "properties": { @@ -324,9 +319,6 @@ "Bucket": { "type": "string" }, - "BucketOwner": { - "$ref": "#/definitions/BucketOwner" - }, "Key": { "type": "string" } @@ -385,14 +377,6 @@ "PathOptions": { "$ref": "#/definitions/PathOptions" }, - "Source": { - "enum": [ - "S3", - "DATA-CATALOG", - "DATABASE" - ], - "type": "string" - }, "Tags": { "insertionOrder": false, "items": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json index 8372362d6b..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json @@ -104,9 +104,6 @@ }, "MinCapacity": { "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "integer" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbinstance.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbinstance.json index f20e802a6a..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbinstance.json @@ -26,7 +26,6 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", - "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", @@ -480,7 +479,6 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", @@ -499,6 +497,7 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", + "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py index 31a0373cba..2e2ecf47cd 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -111,6 +111,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -947,10 +948,12 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1041,7 +1044,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1181,6 +1183,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1419,7 +1422,6 @@ "aws-opensearchserverless-securityconfig.json", "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-instance.json", @@ -1443,9 +1445,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1608,6 +1608,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-policy.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-opensearchservice-domain.json new file mode 100644 index 0000000000..2f0285dbe8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-opensearchservice-domain.json @@ -0,0 +1,573 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EncryptionAtRestOptions/Enabled", + "/properties/EncryptionAtRestOptions/KmsKeyId", + "/properties/AdvancedSecurityOptions/Enabled" + ], + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "AnonymousAuthDisableDate": { + "type": "string" + }, + "AnonymousAuthEnabled": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "JWTOptions": { + "$ref": "#/definitions/JWTOptions" + }, + "MasterUserOptions": { + "$ref": "#/definitions/MasterUserOptions" + }, + "SAMLOptions": { + "$ref": "#/definitions/SAMLOptions" + } + }, + "type": "object" + }, + "ClusterConfig": { + "additionalProperties": false, + "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/ColdStorageOptions" + }, + "DedicatedMasterCount": { + "type": "integer" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "MultiAZWithStandbyEnabled": { + "type": "boolean" + }, + "WarmCount": { + "type": "integer" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, + "Idp": { + "additionalProperties": false, + "properties": { + "EntityId": { + "type": "string" + }, + "MetadataContent": { + "maxLength": 1048576, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetadataContent", + "EntityId" + ], + "type": "object" + }, + "JWTOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "PublicKey": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "OffPeakWindow": { + "additionalProperties": false, + "properties": { + "WindowStartTime": { + "$ref": "#/definitions/WindowStartTime" + } + }, + "type": "object" + }, + "OffPeakWindowOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OffPeakWindow": { + "$ref": "#/definitions/OffPeakWindow" + } + }, + "type": "object" + }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, + "SAMLOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Idp": { + "$ref": "#/definitions/Idp" + }, + "MasterBackendRole": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SessionTimeoutMinutes": { + "type": "integer" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceSoftwareOptions": { + "additionalProperties": false, + "properties": { + "AutomatedUpdateDate": { + "type": "string" + }, + "Cancellable": { + "type": "boolean" + }, + "CurrentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NewVersion": { + "type": "string" + }, + "OptionalDeployment": { + "type": "boolean" + }, + "UpdateAvailable": { + "type": "boolean" + }, + "UpdateStatus": { + "type": "string" + } + }, + "type": "object" + }, + "SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "integer" + } + }, + "type": "object" + }, + "SoftwareUpdateOptions": { + "additionalProperties": false, + "properties": { + "AutoSoftwareUpdateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 0, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "WindowStartTime": { + "additionalProperties": false, + "properties": { + "Hours": { + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "Minutes": { + "maximum": 59, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "AccessPolicies": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AdvancedSecurityOptionsInput" + }, + "Arn": { + "type": "string" + }, + "ClusterConfig": { + "$ref": "#/definitions/ClusterConfig" + }, + "CognitoOptions": { + "$ref": "#/definitions/CognitoOptions" + }, + "DomainArn": { + "type": "string" + }, + "DomainEndpoint": { + "type": "string" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/DomainEndpointOptions" + }, + "DomainEndpointV2": { + "type": "string" + }, + "DomainEndpoints": { + "additionalProperties": false, + "patternProperties": { + "^.*$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/EBSOptions" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/EncryptionAtRestOptions" + }, + "EngineVersion": { + "type": "string" + }, + "IPAddressType": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "$ref": "#/definitions/LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/NodeToNodeEncryptionOptions" + }, + "OffPeakWindowOptions": { + "$ref": "#/definitions/OffPeakWindowOptions" + }, + "ServiceSoftwareOptions": { + "$ref": "#/definitions/ServiceSoftwareOptions" + }, + "SkipShardMigrationWait": { + "type": "boolean" + }, + "SnapshotOptions": { + "$ref": "#/definitions/SnapshotOptions" + }, + "SoftwareUpdateOptions": { + "$ref": "#/definitions/SoftwareUpdateOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VPCOptions": { + "$ref": "#/definitions/VPCOptions" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/DomainArn", + "/properties/DomainEndpoint", + "/properties/DomainEndpointV2", + "/properties/DomainEndpoints", + "/properties/ServiceSoftwareOptions", + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::OpenSearchService::Domain", + "writeOnlyProperties": [ + "/properties/AdvancedSecurityOptions/MasterUserOptions", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json index 8372362d6b..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json @@ -104,9 +104,6 @@ }, "MinCapacity": { "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "integer" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json index f20e802a6a..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json @@ -26,7 +26,6 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", - "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", @@ -480,7 +479,6 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", @@ -499,6 +497,7 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", + "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill" diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 a114b293db..c89359ec27 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -157,6 +157,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -935,6 +936,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::PaymentCryptography::Alias", "AWS::PaymentCryptography::Key", "AWS::Personalize::Dataset", @@ -967,6 +971,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1432,7 +1437,6 @@ "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1448,6 +1452,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1750,7 +1755,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -2082,6 +2086,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2225,6 +2230,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..e58c0eb4f2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-bedrock-agent.json @@ -0,0 +1,552 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + }, + "RequireConfirmation": { + "$ref": "#/definitions/RequireConfirmation" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "RequireConfirmation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..740e9f1a84 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,202 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-quicksight-custompermissions.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..0b8ef8a803 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-quicksight-custompermissions.json @@ -0,0 +1,139 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "definitions": { + "Capabilities": { + "additionalProperties": false, + "properties": { + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + } + }, + "type": "object" + }, + "CapabilityState": { + "enum": [ + "DENY" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9+=,.@_-]+$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::QuickSight::CustomPermissions" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py index 762d717d3d..33b31e2e15 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -151,6 +151,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1335,6 +1336,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1354,11 +1356,9 @@ "aws-cleanroomsml-trainingdataset.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-moduledefaultversion.json", "aws-cloudformation-moduleversion.json", @@ -1472,7 +1472,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1569,6 +1568,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", @@ -1633,6 +1633,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1672,8 +1673,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", @@ -1911,6 +1910,7 @@ "aws-lightsail-loadbalancer.json", "aws-lightsail-loadbalancertlscertificate.json", "aws-lightsail-staticip.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1946,6 +1946,7 @@ "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", "aws-medialive-channel.json", + "aws-medialive-channelplacementgroup.json", "aws-medialive-cloudwatchalarmtemplate.json", "aws-medialive-cloudwatchalarmtemplategroup.json", "aws-medialive-cluster.json", @@ -2076,9 +2077,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2284,6 +2283,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json deleted file mode 100644 index 9f20068eaa..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ClusterId" - ], - "definitions": { - "ChannelPlacementGroupState": { - "enum": [ - "UNASSIGNED", - "ASSIGNING", - "ASSIGNED", - "DELETING", - "DELETED", - "UNASSIGNING" - ], - "type": "string" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id", - "/properties/ClusterId" - ], - "properties": { - "Arn": { - "type": "string" - }, - "Channels": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterId": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Nodes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "State": { - "$ref": "#/definitions/ChannelPlacementGroupState" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/Channels", - "/properties/Id", - "/properties/State" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::MediaLive::ChannelPlacementGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json similarity index 91% rename from src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json index 9748b231ac..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json @@ -7,6 +7,7 @@ ], "createOnlyProperties": [ "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", @@ -161,6 +162,13 @@ "minimum": 1, "type": "integer" }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, "CopyTagsToSnapshot": { "type": "boolean" }, @@ -177,7 +185,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +272,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +311,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,13 +361,13 @@ "/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/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? 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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", @@ -388,6 +393,7 @@ }, "typeName": "AWS::RDS::DBCluster", "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbinstance.json similarity index 93% rename from src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbinstance.json index cc38cb577b..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbinstance.json @@ -29,7 +29,6 @@ "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", - "/properties/Port", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/Timezone" @@ -185,7 +184,6 @@ "type": "string" }, "BackupRetentionPeriod": { - "default": 1, "maximum": 35, "minimum": 0, "type": "integer" @@ -333,7 +331,6 @@ "type": "integer" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -401,7 +398,6 @@ "type": "array" }, "PromotionTier": { - "default": 1, "maximum": 15, "minimum": 0, "type": "integer" @@ -485,11 +481,11 @@ "/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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKMSKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", @@ -507,6 +503,13 @@ "/properties/CertificateDetails/ValidTill" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "typeName": "AWS::RDS::DBInstance", "writeOnlyProperties": [ "/properties/AllowMajorVersionUpgrade", @@ -515,7 +518,6 @@ "/properties/DBSnapshotIdentifier", "/properties/DeleteAutomatedBackups", "/properties/MasterUserPassword", - "/properties/Port", "/properties/RestoreTime", "/properties/SourceDBInstanceAutomatedBackupsArn", "/properties/SourceDBInstanceIdentifier", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 48e3c81774..c5f94e5b52 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -863,6 +863,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -937,6 +938,7 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -1129,7 +1131,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1148,6 +1149,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1292,6 +1294,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1394,11 +1397,10 @@ "aws-pcaconnectorscep-connector.json", "aws-pipes-pipe.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1576,6 +1578,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..740e9f1a84 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpcendpoint.json @@ -0,0 +1,202 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json similarity index 91% rename from src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json index 9748b231ac..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json @@ -7,6 +7,7 @@ ], "createOnlyProperties": [ "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", @@ -161,6 +162,13 @@ "minimum": 1, "type": "integer" }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, "CopyTagsToSnapshot": { "type": "boolean" }, @@ -177,7 +185,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +272,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +311,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,13 +361,13 @@ "/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/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? 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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", @@ -388,6 +393,7 @@ }, "typeName": "AWS::RDS::DBCluster", "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbinstance.json similarity index 93% rename from src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbinstance.json index cc38cb577b..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbinstance.json @@ -29,7 +29,6 @@ "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", - "/properties/Port", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/Timezone" @@ -185,7 +184,6 @@ "type": "string" }, "BackupRetentionPeriod": { - "default": 1, "maximum": 35, "minimum": 0, "type": "integer" @@ -333,7 +331,6 @@ "type": "integer" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -401,7 +398,6 @@ "type": "array" }, "PromotionTier": { - "default": 1, "maximum": 15, "minimum": 0, "type": "integer" @@ -485,11 +481,11 @@ "/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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKMSKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", @@ -507,6 +503,13 @@ "/properties/CertificateDetails/ValidTill" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "typeName": "AWS::RDS::DBInstance", "writeOnlyProperties": [ "/properties/AllowMajorVersionUpgrade", @@ -515,7 +518,6 @@ "/properties/DBSnapshotIdentifier", "/properties/DeleteAutomatedBackups", "/properties/MasterUserPassword", - "/properties/Port", "/properties/RestoreTime", "/properties/SourceDBInstanceAutomatedBackupsArn", "/properties/SourceDBInstanceIdentifier", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 f6763e04c6..f461dc3035 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-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -1243,8 +1244,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1335,7 +1338,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1462,7 +1467,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1689,7 +1693,6 @@ "aws-gamelift-fleet.json", "aws-gamelift-gameservergroup.json", "aws-gamelift-gamesessionqueue.json", - "aws-gamelift-location.json", "aws-gamelift-matchmakingconfiguration.json", "aws-gamelift-matchmakingruleset.json", "aws-gamelift-script.json", @@ -1850,6 +1853,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -1899,6 +1903,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2070,9 +2075,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json new file mode 100644 index 0000000000..2d3f1b6637 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json @@ -0,0 +1,68 @@ +{ + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LocationName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationName" + ], + "properties": { + "LocationArn": { + "pattern": "^arn:.*:location/custom-\\S+", + "type": "string" + }, + "LocationName": { + "maxLength": 64, + "minLength": 8, + "pattern": "^custom-[A-Za-z0-9\\-]+", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn" + ], + "required": [ + "LocationName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::GameLift::Location" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py index 0268ec2da0..2fb04290f3 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -705,6 +705,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -768,6 +769,7 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -956,6 +958,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1133,7 +1136,6 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1279,6 +1281,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opensearchservice-domain.json new file mode 100644 index 0000000000..2f0285dbe8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opensearchservice-domain.json @@ -0,0 +1,573 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EncryptionAtRestOptions/Enabled", + "/properties/EncryptionAtRestOptions/KmsKeyId", + "/properties/AdvancedSecurityOptions/Enabled" + ], + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "AnonymousAuthDisableDate": { + "type": "string" + }, + "AnonymousAuthEnabled": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "JWTOptions": { + "$ref": "#/definitions/JWTOptions" + }, + "MasterUserOptions": { + "$ref": "#/definitions/MasterUserOptions" + }, + "SAMLOptions": { + "$ref": "#/definitions/SAMLOptions" + } + }, + "type": "object" + }, + "ClusterConfig": { + "additionalProperties": false, + "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/ColdStorageOptions" + }, + "DedicatedMasterCount": { + "type": "integer" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "MultiAZWithStandbyEnabled": { + "type": "boolean" + }, + "WarmCount": { + "type": "integer" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, + "Idp": { + "additionalProperties": false, + "properties": { + "EntityId": { + "type": "string" + }, + "MetadataContent": { + "maxLength": 1048576, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetadataContent", + "EntityId" + ], + "type": "object" + }, + "JWTOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "PublicKey": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "OffPeakWindow": { + "additionalProperties": false, + "properties": { + "WindowStartTime": { + "$ref": "#/definitions/WindowStartTime" + } + }, + "type": "object" + }, + "OffPeakWindowOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OffPeakWindow": { + "$ref": "#/definitions/OffPeakWindow" + } + }, + "type": "object" + }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, + "SAMLOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Idp": { + "$ref": "#/definitions/Idp" + }, + "MasterBackendRole": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SessionTimeoutMinutes": { + "type": "integer" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceSoftwareOptions": { + "additionalProperties": false, + "properties": { + "AutomatedUpdateDate": { + "type": "string" + }, + "Cancellable": { + "type": "boolean" + }, + "CurrentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NewVersion": { + "type": "string" + }, + "OptionalDeployment": { + "type": "boolean" + }, + "UpdateAvailable": { + "type": "boolean" + }, + "UpdateStatus": { + "type": "string" + } + }, + "type": "object" + }, + "SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "integer" + } + }, + "type": "object" + }, + "SoftwareUpdateOptions": { + "additionalProperties": false, + "properties": { + "AutoSoftwareUpdateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 0, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "WindowStartTime": { + "additionalProperties": false, + "properties": { + "Hours": { + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "Minutes": { + "maximum": 59, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "AccessPolicies": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AdvancedSecurityOptionsInput" + }, + "Arn": { + "type": "string" + }, + "ClusterConfig": { + "$ref": "#/definitions/ClusterConfig" + }, + "CognitoOptions": { + "$ref": "#/definitions/CognitoOptions" + }, + "DomainArn": { + "type": "string" + }, + "DomainEndpoint": { + "type": "string" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/DomainEndpointOptions" + }, + "DomainEndpointV2": { + "type": "string" + }, + "DomainEndpoints": { + "additionalProperties": false, + "patternProperties": { + "^.*$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/EBSOptions" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/EncryptionAtRestOptions" + }, + "EngineVersion": { + "type": "string" + }, + "IPAddressType": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "$ref": "#/definitions/LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/NodeToNodeEncryptionOptions" + }, + "OffPeakWindowOptions": { + "$ref": "#/definitions/OffPeakWindowOptions" + }, + "ServiceSoftwareOptions": { + "$ref": "#/definitions/ServiceSoftwareOptions" + }, + "SkipShardMigrationWait": { + "type": "boolean" + }, + "SnapshotOptions": { + "$ref": "#/definitions/SnapshotOptions" + }, + "SoftwareUpdateOptions": { + "$ref": "#/definitions/SoftwareUpdateOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VPCOptions": { + "$ref": "#/definitions/VPCOptions" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/DomainArn", + "/properties/DomainEndpoint", + "/properties/DomainEndpointV2", + "/properties/DomainEndpoints", + "/properties/ServiceSoftwareOptions", + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::OpenSearchService::Domain", + "writeOnlyProperties": [ + "/properties/AdvancedSecurityOptions/MasterUserOptions", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 d6aec1528a..c7ed142fbf 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -157,6 +157,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -912,6 +913,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -947,6 +951,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1416,6 +1421,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1560,7 +1566,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1715,7 +1720,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -2168,6 +2172,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2207,9 +2214,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2432,6 +2437,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..740e9f1a84 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,202 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-quicksight-custompermissions.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..0b8ef8a803 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-quicksight-custompermissions.json @@ -0,0 +1,139 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "definitions": { + "Capabilities": { + "additionalProperties": false, + "properties": { + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + } + }, + "type": "object" + }, + "CapabilityState": { + "enum": [ + "DENY" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9+=,.@_-]+$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::QuickSight::CustomPermissions" +} 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..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 884223eae0..f549cd443f 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -929,6 +929,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -1340,8 +1343,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1437,7 +1442,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1584,7 +1591,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -2067,6 +2073,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2206,6 +2213,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2253,9 +2263,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2477,6 +2485,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py index 97f9a47071..36151c8545 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -770,6 +770,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -863,6 +864,7 @@ "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -974,6 +976,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -1036,6 +1039,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1073,8 +1077,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1242,9 +1244,7 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1408,6 +1408,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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_3/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py index 7c149e71a7..2cf064b518 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -704,6 +704,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -889,6 +890,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -945,6 +947,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -976,8 +979,6 @@ "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-events-eventbus.json", "aws-events-eventbuspolicy.json", "aws-events-rule.json", @@ -1138,9 +1139,7 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1268,6 +1267,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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_4/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_4/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py index e80d9738f3..2ba109b2dc 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py @@ -232,6 +232,8 @@ "AWS::ElasticLoadBalancingV2::ListenerRule", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ElasticLoadBalancingV2::TargetGroup", + "AWS::ElasticLoadBalancingV2::TrustStore", + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation", "AWS::Elasticsearch::Domain", "AWS::Events::EventBus", "AWS::Events::Rule", @@ -295,6 +297,8 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::Location::GeofenceCollection", + "AWS::Location::PlaceIndex", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -409,6 +413,13 @@ "AWS::StepFunctions::StateMachineAlias", "AWS::StepFunctions::StateMachineVersion", "AWS::Synthetics::Canary", + "AWS::Transfer::Agreement", + "AWS::Transfer::Certificate", + "AWS::Transfer::Connector", + "AWS::Transfer::Profile", + "AWS::Transfer::Server", + "AWS::Transfer::User", + "AWS::Transfer::Workflow", "AWS::WAF::ByteMatchSet", "AWS::WAF::IPSet", "AWS::WAF::Rule", @@ -475,11 +486,9 @@ "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-certificatemanager-certificate.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", @@ -544,6 +553,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -594,6 +604,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -617,6 +628,8 @@ "aws-elasticloadbalancingv2-listenerrule.json", "aws-elasticloadbalancingv2-loadbalancer.json", "aws-elasticloadbalancingv2-targetgroup.json", + "aws-elasticloadbalancingv2-truststore.json", + "aws-elasticloadbalancingv2-truststorerevocation.json", "aws-elasticsearch-domain.json", "aws-emr-instancegroupconfig.json", "aws-events-eventbus.json", @@ -663,11 +676,14 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", + "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-location-geofencecollection.json", + "aws-location-placeindex.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -702,9 +718,7 @@ "aws-organizations-resourcepolicy.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", @@ -773,6 +787,13 @@ "aws-stepfunctions-statemachinealias.json", "aws-stepfunctions-statemachineversion.json", "aws-synthetics-canary.json", + "aws-transfer-agreement.json", + "aws-transfer-certificate.json", + "aws-transfer-connector.json", + "aws-transfer-profile.json", + "aws-transfer-server.json", + "aws-transfer-user.json", + "aws-transfer-workflow.json", "aws-waf-bytematchset.json", "aws-waf-sqlinjectionmatchset.json", "aws-wafv2-ipset.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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_5/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} 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 4bd7b66b2b..17f1186ad8 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -148,6 +148,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1272,6 +1273,7 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1290,6 +1292,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1421,7 +1424,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1582,6 +1584,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1817,10 +1820,12 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-integration.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -2066,6 +2071,7 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2087,6 +2093,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -2193,6 +2200,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", @@ -2244,6 +2252,7 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json deleted file mode 100644 index 7d716f5622..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/IntegrationName", - "/properties/IntegrationType", - "/properties/ResourceConfig" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "[\\w#+=/:,.@-]*\\*?", - "type": "string" - }, - "OpenSearchResourceConfig": { - "additionalProperties": false, - "properties": { - "ApplicationARN": { - "$ref": "#/definitions/Arn" - }, - "DashboardViewerPrincipals": { - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array" - }, - "DataSourceRoleArn": { - "$ref": "#/definitions/Arn" - }, - "KmsKeyArn": { - "$ref": "#/definitions/Arn" - }, - "RetentionDays": { - "maximum": 3650, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DataSourceRoleArn", - "DashboardViewerPrincipals" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/IntegrationName" - ], - "properties": { - "IntegrationName": { - "maxLength": 256, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "IntegrationStatus": { - "enum": [ - "PROVISIONING", - "ACTIVE", - "FAILED" - ], - "type": "string" - }, - "IntegrationType": { - "enum": [ - "OPENSEARCH" - ], - "type": "string" - }, - "ResourceConfig": { - "additionalProperties": false, - "properties": { - "OpenSearchResourceConfig": { - "$ref": "#/definitions/OpenSearchResourceConfig" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/IntegrationStatus" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "IntegrationName", - "IntegrationType", - "ResourceConfig" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::Integration", - "writeOnlyProperties": [ - "/properties/ResourceConfig" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index f7e7994bcf..2a511af5a8 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -294,6 +294,8 @@ "AWS::ElasticLoadBalancingV2::ListenerRule", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ElasticLoadBalancingV2::TargetGroup", + "AWS::ElasticLoadBalancingV2::TrustStore", + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation", "AWS::Elasticsearch::Domain", "AWS::Events::EventBus", "AWS::Events::EventBusPolicy", @@ -622,6 +624,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -672,17 +675,16 @@ "aws-chatbot-microsoftteamschannelconfiguration.json", "aws-chatbot-slackchannelconfiguration.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-publictypeversion.json", "aws-cloudformation-publisher.json", "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -753,8 +755,8 @@ "aws-dms-replicationconfig.json", "aws-ec2-capacityreservation.json", "aws-ec2-capacityreservationfleet.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", - "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", "aws-ec2-eip.json", "aws-ec2-eipassociation.json", @@ -774,6 +776,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -784,7 +787,6 @@ "aws-ec2-securitygroupingress.json", "aws-ec2-securitygroupvpcassociation.json", "aws-ec2-snapshotblockpublicaccess.json", - "aws-ec2-spotfleet.json", "aws-ec2-subnet.json", "aws-ec2-subnetcidrblock.json", "aws-ec2-subnetroutetableassociation.json", @@ -828,6 +830,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -853,6 +856,8 @@ "aws-elasticloadbalancingv2-listenerrule.json", "aws-elasticloadbalancingv2-loadbalancer.json", "aws-elasticloadbalancingv2-targetgroup.json", + "aws-elasticloadbalancingv2-truststore.json", + "aws-elasticloadbalancingv2-truststorerevocation.json", "aws-elasticsearch-domain.json", "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", @@ -931,7 +936,6 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", - "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", "aws-lambda-layerversion.json", @@ -989,9 +993,7 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CertificateArn", - "/properties/BgpAsn", - "/properties/BgpAsnExtended", - "/properties/Type", - "/properties/IpAddress", - "/properties/DeviceName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/CustomerGatewayId" - ], - "properties": { - "BgpAsn": { - "default": 65000, - "type": "integer" - }, - "BgpAsnExtended": { - "maximum": 4294967294, - "minimum": 2147483648, - "multipleOf": 1, - "type": "number" - }, - "CertificateArn": { - "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$", - "type": "string" - }, - "CustomerGatewayId": { - "type": "string" - }, - "DeviceName": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "enum": [ - "ipsec.1" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/CustomerGatewayId" - ], - "required": [ - "IpAddress", - "Type" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::CustomerGateway" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ec2fleet.json new file mode 100644 index 0000000000..84c05df06a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ec2fleet.json @@ -0,0 +1,1608 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "enum": [ + "use-capacity-reservations-first" + ], + "type": "string" + } + }, + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "enum": [ + "a1.2xlarge", + "a1.4xlarge", + "a1.large", + "a1.medium", + "a1.metal", + "a1.xlarge", + "c1.medium", + "c1.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c3.large", + "c3.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c4.large", + "c4.xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.large", + "c5.metal", + "c5.xlarge", + "c5a.12xlarge", + "c5a.16xlarge", + "c5a.24xlarge", + "c5a.2xlarge", + "c5a.4xlarge", + "c5a.8xlarge", + "c5a.large", + "c5a.xlarge", + "c5ad.12xlarge", + "c5ad.16xlarge", + "c5ad.24xlarge", + "c5ad.2xlarge", + "c5ad.4xlarge", + "c5ad.8xlarge", + "c5ad.large", + "c5ad.xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.large", + "c5d.metal", + "c5d.xlarge", + "c5n.18xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.large", + "c5n.metal", + "c5n.xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.2xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.large", + "c6a.metal", + "c6a.xlarge", + "c6g.12xlarge", + "c6g.16xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.large", + "c6g.medium", + "c6g.metal", + "c6g.xlarge", + "c6gd.12xlarge", + "c6gd.16xlarge", + "c6gd.2xlarge", + "c6gd.4xlarge", + "c6gd.8xlarge", + "c6gd.large", + "c6gd.medium", + "c6gd.metal", + "c6gd.xlarge", + "c6gn.12xlarge", + "c6gn.16xlarge", + "c6gn.2xlarge", + "c6gn.4xlarge", + "c6gn.8xlarge", + "c6gn.large", + "c6gn.medium", + "c6gn.xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "c6i.2xlarge", + "c6i.32xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.large", + "c6i.metal", + "c6i.xlarge", + "c6id.12xlarge", + "c6id.16xlarge", + "c6id.24xlarge", + "c6id.2xlarge", + "c6id.32xlarge", + "c6id.4xlarge", + "c6id.8xlarge", + "c6id.large", + "c6id.metal", + "c6id.xlarge", + "c6in.12xlarge", + "c6in.16xlarge", + "c6in.24xlarge", + "c6in.2xlarge", + "c6in.32xlarge", + "c6in.4xlarge", + "c6in.8xlarge", + "c6in.large", + "c6in.metal", + "c6in.xlarge", + "c7a.12xlarge", + "c7a.16xlarge", + "c7a.24xlarge", + "c7a.2xlarge", + "c7a.32xlarge", + "c7a.48xlarge", + "c7a.4xlarge", + "c7a.8xlarge", + "c7a.large", + "c7a.medium", + "c7a.metal-48xl", + "c7a.xlarge", + "c7g.12xlarge", + "c7g.16xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.large", + "c7g.medium", + "c7g.metal", + "c7g.xlarge", + "c7gd.12xlarge", + "c7gd.16xlarge", + "c7gd.2xlarge", + "c7gd.4xlarge", + "c7gd.8xlarge", + "c7gd.large", + "c7gd.medium", + "c7gd.metal", + "c7gd.xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.large", + "c7gn.medium", + "c7gn.metal", + "c7gn.xlarge", + "c7i-flex.2xlarge", + "c7i-flex.4xlarge", + "c7i-flex.8xlarge", + "c7i-flex.large", + "c7i-flex.xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.2xlarge", + "c7i.48xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.large", + "c7i.metal-24xl", + "c7i.metal-48xl", + "c7i.xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.2xlarge", + "c8g.48xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.large", + "c8g.medium", + "c8g.metal-24xl", + "c8g.metal-48xl", + "c8g.xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "cg1.4xlarge", + "cr1.8xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "d2.xlarge", + "d3.2xlarge", + "d3.4xlarge", + "d3.8xlarge", + "d3.xlarge", + "d3en.12xlarge", + "d3en.2xlarge", + "d3en.4xlarge", + "d3en.6xlarge", + "d3en.8xlarge", + "d3en.xlarge", + "dl1.24xlarge", + "dl2q.24xlarge", + "f1.16xlarge", + "f1.2xlarge", + "f1.4xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.16xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3s.xlarge", + "g4ad.16xlarge", + "g4ad.2xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.metal", + "g4dn.xlarge", + "g5.12xlarge", + "g5.16xlarge", + "g5.24xlarge", + "g5.2xlarge", + "g5.48xlarge", + "g5.4xlarge", + "g5.8xlarge", + "g5.xlarge", + "g5g.16xlarge", + "g5g.2xlarge", + "g5g.4xlarge", + "g5g.8xlarge", + "g5g.metal", + "g5g.xlarge", + "g6.12xlarge", + "g6.16xlarge", + "g6.24xlarge", + "g6.2xlarge", + "g6.48xlarge", + "g6.4xlarge", + "g6.8xlarge", + "g6.xlarge", + "g6e.12xlarge", + "g6e.16xlarge", + "g6e.24xlarge", + "g6e.2xlarge", + "g6e.48xlarge", + "g6e.4xlarge", + "g6e.8xlarge", + "g6e.xlarge", + "gr6.4xlarge", + "gr6.8xlarge", + "h1.16xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "hi1.4xlarge", + "hpc6a.48xlarge", + "hpc6id.32xlarge", + "hpc7a.12xlarge", + "hpc7a.24xlarge", + "hpc7a.48xlarge", + "hpc7a.96xlarge", + "hpc7g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hs1.8xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i2.xlarge", + "i3.16xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.large", + "i3.metal", + "i3.xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.large", + "i3en.metal", + "i3en.xlarge", + "i4g.16xlarge", + "i4g.2xlarge", + "i4g.4xlarge", + "i4g.8xlarge", + "i4g.large", + "i4g.xlarge", + "i4i.12xlarge", + "i4i.16xlarge", + "i4i.24xlarge", + "i4i.2xlarge", + "i4i.32xlarge", + "i4i.4xlarge", + "i4i.8xlarge", + "i4i.large", + "i4i.metal", + "i4i.xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.48xlarge", + "i7ie.6xlarge", + "i7ie.large", + "i7ie.xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.large", + "i8g.metal-24xl", + "i8g.xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "inf1.24xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.xlarge", + "inf2.24xlarge", + "inf2.48xlarge", + "inf2.8xlarge", + "inf2.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", + "m1.large", + "m1.medium", + "m1.small", + "m1.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "m2.xlarge", + "m3.2xlarge", + "m3.large", + "m3.medium", + "m3.xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.large", + "m4.xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.large", + "m5.metal", + "m5.xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.large", + "m5a.xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.large", + "m5ad.xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.large", + "m5d.metal", + "m5d.xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.large", + "m5dn.metal", + "m5dn.xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.large", + "m5n.metal", + "m5n.xlarge", + "m5zn.12xlarge", + "m5zn.2xlarge", + "m5zn.3xlarge", + "m5zn.6xlarge", + "m5zn.large", + "m5zn.metal", + "m5zn.xlarge", + "m6a.12xlarge", + "m6a.16xlarge", + "m6a.24xlarge", + "m6a.2xlarge", + "m6a.32xlarge", + "m6a.48xlarge", + "m6a.4xlarge", + "m6a.8xlarge", + "m6a.large", + "m6a.metal", + "m6a.xlarge", + "m6g.12xlarge", + "m6g.16xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.large", + "m6g.medium", + "m6g.metal", + "m6g.xlarge", + "m6gd.12xlarge", + "m6gd.16xlarge", + "m6gd.2xlarge", + "m6gd.4xlarge", + "m6gd.8xlarge", + "m6gd.large", + "m6gd.medium", + "m6gd.metal", + "m6gd.xlarge", + "m6i.12xlarge", + "m6i.16xlarge", + "m6i.24xlarge", + "m6i.2xlarge", + "m6i.32xlarge", + "m6i.4xlarge", + "m6i.8xlarge", + "m6i.large", + "m6i.metal", + "m6i.xlarge", + "m6id.12xlarge", + "m6id.16xlarge", + "m6id.24xlarge", + "m6id.2xlarge", + "m6id.32xlarge", + "m6id.4xlarge", + "m6id.8xlarge", + "m6id.large", + "m6id.metal", + "m6id.xlarge", + "m6idn.12xlarge", + "m6idn.16xlarge", + "m6idn.24xlarge", + "m6idn.2xlarge", + "m6idn.32xlarge", + "m6idn.4xlarge", + "m6idn.8xlarge", + "m6idn.large", + "m6idn.metal", + "m6idn.xlarge", + "m6in.12xlarge", + "m6in.16xlarge", + "m6in.24xlarge", + "m6in.2xlarge", + "m6in.32xlarge", + "m6in.4xlarge", + "m6in.8xlarge", + "m6in.large", + "m6in.metal", + "m6in.xlarge", + "m7a.12xlarge", + "m7a.16xlarge", + "m7a.24xlarge", + "m7a.2xlarge", + "m7a.32xlarge", + "m7a.48xlarge", + "m7a.4xlarge", + "m7a.8xlarge", + "m7a.large", + "m7a.medium", + "m7a.metal-48xl", + "m7a.xlarge", + "m7g.12xlarge", + "m7g.16xlarge", + "m7g.2xlarge", + "m7g.4xlarge", + "m7g.8xlarge", + "m7g.large", + "m7g.medium", + "m7g.metal", + "m7g.xlarge", + "m7gd.12xlarge", + "m7gd.16xlarge", + "m7gd.2xlarge", + "m7gd.4xlarge", + "m7gd.8xlarge", + "m7gd.large", + "m7gd.medium", + "m7gd.metal", + "m7gd.xlarge", + "m7i-flex.2xlarge", + "m7i-flex.4xlarge", + "m7i-flex.8xlarge", + "m7i-flex.large", + "m7i-flex.xlarge", + "m7i.12xlarge", + "m7i.16xlarge", + "m7i.24xlarge", + "m7i.2xlarge", + "m7i.48xlarge", + "m7i.4xlarge", + "m7i.8xlarge", + "m7i.large", + "m7i.metal-24xl", + "m7i.metal-48xl", + "m7i.xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.2xlarge", + "m8g.48xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.large", + "m8g.medium", + "m8g.metal-24xl", + "m8g.metal-48xl", + "m8g.xlarge", + "mac1.metal", + "mac2-m1ultra.metal", + "mac2-m2.metal", + "mac2-m2pro.metal", + "mac2.metal", + "p2.16xlarge", + "p2.8xlarge", + "p2.xlarge", + "p3.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3dn.24xlarge", + "p4d.24xlarge", + "p4de.24xlarge", + "p5.48xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r3.large", + "r3.xlarge", + "r4.16xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.large", + "r4.xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.large", + "r5.metal", + "r5.xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.large", + "r5a.xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.large", + "r5ad.xlarge", + "r5b.12xlarge", + "r5b.16xlarge", + "r5b.24xlarge", + "r5b.2xlarge", + "r5b.4xlarge", + "r5b.8xlarge", + "r5b.large", + "r5b.metal", + "r5b.xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.large", + "r5d.metal", + "r5d.xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.large", + "r5dn.metal", + "r5dn.xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.large", + "r5n.metal", + "r5n.xlarge", + "r6a.12xlarge", + "r6a.16xlarge", + "r6a.24xlarge", + "r6a.2xlarge", + "r6a.32xlarge", + "r6a.48xlarge", + "r6a.4xlarge", + "r6a.8xlarge", + "r6a.large", + "r6a.metal", + "r6a.xlarge", + "r6g.12xlarge", + "r6g.16xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.large", + "r6g.medium", + "r6g.metal", + "r6g.xlarge", + "r6gd.12xlarge", + "r6gd.16xlarge", + "r6gd.2xlarge", + "r6gd.4xlarge", + "r6gd.8xlarge", + "r6gd.large", + "r6gd.medium", + "r6gd.metal", + "r6gd.xlarge", + "r6i.12xlarge", + "r6i.16xlarge", + "r6i.24xlarge", + "r6i.2xlarge", + "r6i.32xlarge", + "r6i.4xlarge", + "r6i.8xlarge", + "r6i.large", + "r6i.metal", + "r6i.xlarge", + "r6id.12xlarge", + "r6id.16xlarge", + "r6id.24xlarge", + "r6id.2xlarge", + "r6id.32xlarge", + "r6id.4xlarge", + "r6id.8xlarge", + "r6id.large", + "r6id.metal", + "r6id.xlarge", + "r6idn.12xlarge", + "r6idn.16xlarge", + "r6idn.24xlarge", + "r6idn.2xlarge", + "r6idn.32xlarge", + "r6idn.4xlarge", + "r6idn.8xlarge", + "r6idn.large", + "r6idn.metal", + "r6idn.xlarge", + "r6in.12xlarge", + "r6in.16xlarge", + "r6in.24xlarge", + "r6in.2xlarge", + "r6in.32xlarge", + "r6in.4xlarge", + "r6in.8xlarge", + "r6in.large", + "r6in.metal", + "r6in.xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.2xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.large", + "r7a.medium", + "r7a.metal-48xl", + "r7a.xlarge", + "r7g.12xlarge", + "r7g.16xlarge", + "r7g.2xlarge", + "r7g.4xlarge", + "r7g.8xlarge", + "r7g.large", + "r7g.medium", + "r7g.metal", + "r7g.xlarge", + "r7gd.12xlarge", + "r7gd.16xlarge", + "r7gd.2xlarge", + "r7gd.4xlarge", + "r7gd.8xlarge", + "r7gd.large", + "r7gd.medium", + "r7gd.metal", + "r7gd.xlarge", + "r7i.12xlarge", + "r7i.16xlarge", + "r7i.24xlarge", + "r7i.2xlarge", + "r7i.48xlarge", + "r7i.4xlarge", + "r7i.8xlarge", + "r7i.large", + "r7i.metal-24xl", + "r7i.metal-48xl", + "r7i.xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.2xlarge", + "r7iz.32xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.large", + "r7iz.metal-16xl", + "r7iz.metal-32xl", + "r7iz.xlarge", + "r8g.12xlarge", + "r8g.16xlarge", + "r8g.24xlarge", + "r8g.2xlarge", + "r8g.48xlarge", + "r8g.4xlarge", + "r8g.8xlarge", + "r8g.large", + "r8g.medium", + "r8g.metal-24xl", + "r8g.metal-48xl", + "r8g.xlarge", + "t1.micro", + "t2.2xlarge", + "t2.large", + "t2.medium", + "t2.micro", + "t2.nano", + "t2.small", + "t2.xlarge", + "t3.2xlarge", + "t3.large", + "t3.medium", + "t3.micro", + "t3.nano", + "t3.small", + "t3.xlarge", + "t3a.2xlarge", + "t3a.large", + "t3a.medium", + "t3a.micro", + "t3a.nano", + "t3a.small", + "t3a.xlarge", + "t4g.2xlarge", + "t4g.large", + "t4g.medium", + "t4g.micro", + "t4g.nano", + "t4g.small", + "t4g.xlarge", + "trn1.2xlarge", + "trn1.32xlarge", + "trn1n.32xlarge", + "u-12tb1.112xlarge", + "u-12tb1.metal", + "u-18tb1.112xlarge", + "u-18tb1.metal", + "u-24tb1.112xlarge", + "u-24tb1.metal", + "u-3tb1.56xlarge", + "u-6tb1.112xlarge", + "u-6tb1.56xlarge", + "u-6tb1.metal", + "u-9tb1.112xlarge", + "u-9tb1.metal", + "u7i-12tb.224xlarge", + "u7ib-12tb.224xlarge", + "u7in-16tb.224xlarge", + "u7in-24tb.224xlarge", + "u7in-32tb.224xlarge", + "vt1.24xlarge", + "vt1.3xlarge", + "vt1.6xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.16xlarge", + "x1e.2xlarge", + "x1e.32xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.xlarge", + "x2gd.12xlarge", + "x2gd.16xlarge", + "x2gd.2xlarge", + "x2gd.4xlarge", + "x2gd.8xlarge", + "x2gd.large", + "x2gd.medium", + "x2gd.metal", + "x2gd.xlarge", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2idn.metal", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.2xlarge", + "x2iedn.32xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.metal", + "x2iedn.xlarge", + "x2iezn.12xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.metal", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.2xlarge", + "x8g.48xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.large", + "x8g.medium", + "x8g.metal-24xl", + "x8g.metal-48xl", + "x8g.xlarge", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "prioritized" + ], + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "integer" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "lowestPrice", + "diversified", + "capacityOptimized", + "capacity-optimized", + "capacityOptimizedPrioritized", + "capacity-optimized-prioritized", + "priceCapacityOptimized", + "price-capacity-optimized" + ], + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "SpotTargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TotalTargetCapacity": { + "type": "integer" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FleetId" + ], + "properties": { + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "termination", + "no-termination" + ], + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request", + "instant" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FleetId" + ], + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], + "typeName": "AWS::EC2::EC2Fleet" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-spotfleet.json new file mode 100644 index 0000000000..b92bf8572f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-spotfleet.json @@ -0,0 +1,993 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/AllocationStrategy", + "/properties/SpotFleetRequestConfigData/IamFleetRole", + "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", + "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", + "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", + "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", + "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", + "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", + "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", + "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/SpotPrice", + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", + "/properties/SpotFleetRequestConfigData/Type", + "/properties/SpotFleetRequestConfigData/ValidFrom", + "/properties/SpotFleetRequestConfigData/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "requiredXor": [ + "VirtualName", + "Ebs", + "NoDevice" + ], + "type": "object" + }, + "ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/ClassicLoadBalancer" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "GroupIdentifier": { + "additionalProperties": false, + "format": "AWS::EC2::SecurityGroup.GroupId", + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "integer" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": true + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "SecondaryPrivateIpAddressCount": { + "type": "integer" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/TargetGroupsConfig" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "default": false, + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/IamInstanceProfileSpecification" + }, + "ImageId": { + "format": "AWS::EC2::Image.Id", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "Placement": { + "$ref": "#/definitions/SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "$ref": "#/definitions/GroupIdentifier" + }, + "type": "array", + "uniqueItems": true + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "capacityOptimized", + "capacityOptimizedPrioritized", + "diversified", + "lowestPrice", + "priceCapacityOptimized" + ], + "type": "string" + }, + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "Default", + "NoTermination", + "default", + "noTermination" + ], + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetLaunchSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/LaunchTemplateConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "TargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "requiredXor": [ + "LaunchSpecifications", + "LaunchTemplateConfigs" + ], + "type": "object" + }, + "SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/SpotCapacityRebalance" + } + }, + "type": "object" + }, + "SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/TargetGroup" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/SpotFleetRequestConfigData" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "SpotFleetRequestConfigData" + ], + "typeName": "AWS::EC2::SpotFleet", + "writeOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-lambda-eventinvokeconfig.json similarity index 85% rename from src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json rename to src/cfnlint/data/schemas/providers/ca_west_1/aws-lambda-eventinvokeconfig.json index 0db5cb9651..54ec787a7c 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-lambda-eventinvokeconfig.json @@ -23,7 +23,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -38,7 +38,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -57,7 +57,7 @@ "$ref": "#/definitions/DestinationConfig" }, "FunctionName": { - "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", "type": "string" }, "MaximumEventAgeInSeconds": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} 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 d6e3b9f7ce..fabe62a35c 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -537,6 +537,7 @@ "AWS::Personalize::Solution", "AWS::Pipes::Pipe", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -743,6 +744,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -798,6 +800,7 @@ "aws-athena-namedquery.json", "aws-athena-preparedstatement.json", "aws-athena-workgroup.json", + "aws-autoscaling-autoscalinggroup.json", "aws-autoscaling-launchconfiguration.json", "aws-autoscaling-lifecyclehook.json", "aws-autoscaling-scalingpolicy.json", @@ -812,7 +815,9 @@ "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1171,6 +1176,7 @@ "aws-lambda-permission.json", "aws-lambda-version.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1226,9 +1232,7 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json deleted file mode 100644 index f5e9fd913b..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json +++ /dev/null @@ -1,794 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/LaunchConfigurationName", - "/properties/VPCZoneIdentifier", - "/properties/LaunchTemplate", - "/properties/MixedInstancesPolicy" - ], - "createOnlyProperties": [ - "/properties/InstanceId", - "/properties/AutoScalingGroupName" - ], - "definitions": { - "AcceleratorCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "AcceleratorTotalMemoryMiBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "AvailabilityZoneDistribution": { - "additionalProperties": false, - "properties": { - "CapacityDistributionStrategy": { - "enum": [ - "balanced-best-effort", - "balanced-only" - ], - "type": "string" - } - }, - "type": "object" - }, - "AvailabilityZoneImpairmentPolicy": { - "additionalProperties": false, - "properties": { - "ImpairedZoneHealthCheckBehavior": { - "enum": [ - "IgnoreUnhealthy", - "ReplaceUnhealthy" - ], - "type": "string" - }, - "ZonalShiftEnabled": { - "type": "boolean" - } - }, - "required": [ - "ImpairedZoneHealthCheckBehavior", - "ZonalShiftEnabled" - ], - "type": "object" - }, - "BaselineEbsBandwidthMbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "BaselinePerformanceFactorsRequest": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuPerformanceFactorRequest" - } - }, - "type": "object" - }, - "CpuPerformanceFactorRequest": { - "additionalProperties": false, - "properties": { - "References": { - "$ref": "#/definitions/PerformanceFactorReferenceSetRequest" - } - }, - "type": "object" - }, - "InstanceMaintenancePolicy": { - "additionalProperties": false, - "dependencies": { - "MaxHealthyPercentage": [ - "MinHealthyPercentage" - ], - "MinHealthyPercentage": [ - "MaxHealthyPercentage" - ] - }, - "properties": { - "MaxHealthyPercentage": { - "type": "integer" - }, - "MinHealthyPercentage": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceRequirements": { - "additionalProperties": false, - "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AcceleratorCountRequest" - }, - "AcceleratorManufacturers": { - "insertionOrder": false, - "items": { - "enum": [ - "amazon-web-services", - "amd", - "nvidia", - "xilinx" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AcceleratorNames": { - "insertionOrder": false, - "items": { - "enum": [ - "a100", - "k80", - "m60", - "radeon-pro-v520", - "t4", - "v100", - "vu9p" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" - }, - "AcceleratorTypes": { - "insertionOrder": false, - "items": { - "enum": [ - "fpga", - "gpu", - "inference" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AllowedInstanceTypes": { - "insertionOrder": true, - "items": { - "pattern": "[a-zA-Z0-9\\.\\*\\-]+", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BareMetal": { - "enum": [ - "excluded", - "included", - "required" - ], - "type": "string" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" - }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/BaselinePerformanceFactorsRequest" - }, - "BurstablePerformance": { - "enum": [ - "excluded", - "included", - "required" - ], - "type": "string" - }, - "CpuManufacturers": { - "insertionOrder": false, - "items": { - "enum": [ - "amazon-web-services", - "amd", - "intel" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "ExcludedInstanceTypes": { - "insertionOrder": true, - "items": { - "pattern": "[a-zA-Z0-9\\.\\*\\-]+", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "InstanceGenerations": { - "insertionOrder": false, - "items": { - "enum": [ - "current", - "previous" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LocalStorage": { - "enum": [ - "excluded", - "included", - "required" - ], - "type": "string" - }, - "LocalStorageTypes": { - "insertionOrder": false, - "items": { - "enum": [ - "hdd", - "ssd" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "type": "integer" - }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/MemoryGiBPerVCpuRequest" - }, - "MemoryMiB": { - "$ref": "#/definitions/MemoryMiBRequest" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/NetworkBandwidthGbpsRequest" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/NetworkInterfaceCountRequest" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "type": "integer" - }, - "RequireHibernateSupport": { - "type": "boolean" - }, - "SpotMaxPricePercentageOverLowestPrice": { - "type": "integer" - }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/TotalLocalStorageGBRequest" - }, - "VCpuCount": { - "$ref": "#/definitions/VCpuCountRequest" - } - }, - "required": [ - "MemoryMiB", - "VCpuCount" - ], - "type": "object" - }, - "InstancesDistribution": { - "additionalProperties": false, - "properties": { - "OnDemandAllocationStrategy": { - "type": "string" - }, - "OnDemandBaseCapacity": { - "type": "integer" - }, - "OnDemandPercentageAboveBaseCapacity": { - "type": "integer" - }, - "SpotAllocationStrategy": { - "type": "string" - }, - "SpotInstancePools": { - "type": "integer" - }, - "SpotMaxPrice": { - "type": "string" - } - }, - "type": "object" - }, - "LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "Overrides": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/LaunchTemplateOverrides" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LaunchTemplateSpecification" - ], - "type": "object" - }, - "LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "InstanceRequirements": { - "$ref": "#/definitions/InstanceRequirements" - }, - "InstanceType": { - "type": "string" - }, - "LaunchTemplateSpecification": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "type": "object" - }, - "LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "requiredXor": [ - "LaunchTemplateId", - "LaunchTemplateName" - ], - "type": "object" - }, - "LifecycleHookSpecification": { - "additionalProperties": false, - "properties": { - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "integer" - }, - "LifecycleHookName": { - "pattern": "[A-Za-z0-9\\-_\\/]+", - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007e]+", - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "type": "object" - }, - "MemoryGiBPerVCpuRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "number" - }, - "Min": { - "type": "number" - } - }, - "type": "object" - }, - "MemoryMiBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "MetricsCollection": { - "additionalProperties": false, - "properties": { - "Granularity": { - "type": "string" - }, - "Metrics": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Granularity" - ], - "type": "object" - }, - "MixedInstancesPolicy": { - "additionalProperties": false, - "properties": { - "InstancesDistribution": { - "$ref": "#/definitions/InstancesDistribution" - }, - "LaunchTemplate": { - "$ref": "#/definitions/LaunchTemplate" - } - }, - "required": [ - "LaunchTemplate" - ], - "type": "object" - }, - "NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "number" - }, - "Min": { - "type": "number" - } - }, - "type": "object" - }, - "NetworkInterfaceCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TopicARN": { - "items": { - "type": "string" - }, - "type": [ - "string", - "array" - ] - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - }, - "PerformanceFactorReferenceRequest": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "type": "string" - } - }, - "type": "object" - }, - "PerformanceFactorReferenceSetRequest": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PerformanceFactorReferenceRequest" - }, - "type": "array", - "uniqueItems": true - }, - "TagProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "PropagateAtLaunch": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key", - "PropagateAtLaunch" - ], - "type": "object" - }, - "TotalLocalStorageGBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "number" - }, - "Min": { - "type": "number" - } - }, - "type": "object" - }, - "TrafficSourceIdentifier": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "VCpuCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/NotificationConfiguration" - ], - "primaryIdentifier": [ - "/properties/AutoScalingGroupName" - ], - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "AvailabilityZoneDistribution": { - "$ref": "#/definitions/AvailabilityZoneDistribution" - }, - "AvailabilityZoneImpairmentPolicy": { - "$ref": "#/definitions/AvailabilityZoneImpairmentPolicy" - }, - "AvailabilityZones": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CapacityRebalance": { - "type": "boolean" - }, - "Context": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "DefaultInstanceWarmup": { - "type": "integer" - }, - "DesiredCapacity": { - "pattern": "^[0-9]+$", - "type": "string" - }, - "DesiredCapacityType": { - "type": "string" - }, - "HealthCheckGracePeriod": { - "type": "integer" - }, - "HealthCheckType": { - "enum": [ - "EBS", - "EC2", - "ELB", - "VPC_LATTICE" - ], - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "InstanceMaintenancePolicy": { - "$ref": "#/definitions/InstanceMaintenancePolicy" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "LifecycleHookSpecificationList": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/LifecycleHookSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "LoadBalancerNames": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaxInstanceLifetime": { - "type": "integer" - }, - "MaxSize": { - "pattern": "^[0-9]+$", - "type": "string" - }, - "MetricsCollection": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MetricsCollection" - }, - "type": "array", - "uniqueItems": false - }, - "MinSize": { - "pattern": "^[0-9]+$", - "type": "string" - }, - "MixedInstancesPolicy": { - "$ref": "#/definitions/MixedInstancesPolicy" - }, - "NewInstancesProtectedFromScaleIn": { - "type": "boolean" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/NotificationConfiguration" - }, - "NotificationConfigurations": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/NotificationConfiguration" - }, - "type": "array", - "uniqueItems": false - }, - "PlacementGroup": { - "type": "string" - }, - "ServiceLinkedRoleARN": { - "type": "string" - }, - "SkipZonalShiftValidation": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TagProperty" - }, - "type": "array" - }, - "TargetGroupARNs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TerminationPolicies": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrafficSources": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TrafficSourceIdentifier" - }, - "type": "array", - "uniqueItems": true - }, - "VPCZoneIdentifier": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/LaunchConfigurationName": "InstanceId? AutoScalingGroupName : LaunchConfigurationName" - }, - "required": [ - "MinSize", - "MaxSize" - ], - "requiredXor": [ - "InstanceId", - "LaunchConfigurationName", - "LaunchTemplate", - "MixedInstancesPolicy" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AutoScaling::AutoScalingGroup", - "writeOnlyProperties": [ - "/properties/SkipZonalShiftValidation", - "/properties/InstanceId" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json index 069e16e3c5..740e9f1a84 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json @@ -31,6 +31,22 @@ } }, "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" } }, "primaryIdentifier": [ @@ -143,6 +159,14 @@ "type": "array", "uniqueItems": true }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, "VpcEndpointType": { "enum": [ "Interface", @@ -169,9 +193,10 @@ ], "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true }, "typeName": "AWS::EC2::VPCEndpoint" } diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-quicksight-custompermissions.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..0b8ef8a803 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-quicksight-custompermissions.json @@ -0,0 +1,139 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "definitions": { + "Capabilities": { + "additionalProperties": false, + "properties": { + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + } + }, + "type": "object" + }, + "CapabilityState": { + "enum": [ + "DENY" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9+=,.@_-]+$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::QuickSight::CustomPermissions" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py index ef5179ec89..5d42e4f5f2 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -109,6 +109,7 @@ "AWS::CUR::ReportDefinition", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Cloud9::EnvironmentEC2", @@ -428,6 +429,7 @@ "AWS::IoT::TopicRuleDestination", "AWS::KMS::Alias", "AWS::KMS::Key", + "AWS::KMS::ReplicaKey", "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", @@ -770,6 +772,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -792,6 +795,7 @@ "aws-cloudfront-keygroup.json", "aws-cloudfront-publickey.json", "aws-cloudfront-responseheaderspolicy.json", + "aws-cloudtrail-trail.json", "aws-cloudwatch-alarm.json", "aws-cloudwatch-anomalydetector.json", "aws-cloudwatch-compositealarm.json", @@ -816,7 +820,6 @@ "aws-config-remediationconfiguration.json", "aws-config-storedquery.json", "aws-cur-reportdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -851,7 +854,6 @@ "aws-ec2-capacityreservation.json", "aws-ec2-capacityreservationfleet.json", "aws-ec2-dhcpoptions.json", - "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", "aws-ec2-eip.json", "aws-ec2-eipassociation.json", @@ -873,6 +875,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -883,7 +886,6 @@ "aws-ec2-securitygroupingress.json", "aws-ec2-securitygroupvpcassociation.json", "aws-ec2-snapshotblockpublicaccess.json", - "aws-ec2-spotfleet.json", "aws-ec2-subnet.json", "aws-ec2-subnetnetworkaclassociation.json", "aws-ec2-subnetroutetableassociation.json", @@ -925,6 +927,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -963,7 +966,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", "aws-emrserverless-application.json", "aws-events-archive.json", "aws-events-eventbus.json", @@ -1058,6 +1060,7 @@ "aws-iot-scheduledaudit.json", "aws-iot-securityprofile.json", "aws-iot-softwarepackage.json", + "aws-iot-softwarepackageversion.json", "aws-iot-thing.json", "aws-iot-thinggroup.json", "aws-iot-thingprincipalattachment.json", @@ -1072,6 +1075,7 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", + "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1079,18 +1083,22 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", - "aws-lambda-eventinvokeconfig.json", "aws-lambda-function.json", "aws-lambda-layerversion.json", "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-loggroup.json", "aws-logs-logstream.json", + "aws-logs-metricfilter.json", + "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", + "aws-logs-subscriptionfilter.json", "aws-mediaconvert-jobtemplate.json", "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", @@ -1119,13 +1127,12 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pipes-pipe.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json deleted file mode 100644 index d2c122b122..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json +++ /dev/null @@ -1,315 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TrailName" - ], - "definitions": { - "AdvancedEventSelector": { - "additionalProperties": false, - "properties": { - "FieldSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AdvancedFieldSelector" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "FieldSelectors" - ], - "type": "object" - }, - "AdvancedFieldSelector": { - "additionalProperties": false, - "properties": { - "EndsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Equals": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Field": { - "maxLength": 1000, - "minLength": 1, - "pattern": "([\\w|\\d|\\.|_]+)", - "type": "string" - }, - "NotEndsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "NotEquals": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "NotStartsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "StartsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Field" - ], - "type": "object" - }, - "DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "AWS::Lambda::Function", - "AWS::S3::Object", - "AWS::DynamoDB::Table", - "AWS::S3Outposts::Object", - "AWS::ManagedBlockchain::Node", - "AWS::S3ObjectLambda::AccessPoint", - "AWS::EC2::Snapshot", - "AWS::S3::AccessPoint", - "AWS::DynamoDB::Stream" - ], - "type": "string" - }, - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DataResource" - }, - "type": "array", - "uniqueItems": true - }, - "ExcludeManagementEventSources": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "enum": [ - "All", - "ReadOnly", - "WriteOnly" - ], - "type": "string" - } - }, - "type": "object" - }, - "InsightSelector": { - "additionalProperties": false, - "properties": { - "InsightType": { - "enum": [ - "ApiCallRateInsight", - "ApiErrorRateInsight" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TrailName" - ], - "properties": { - "AdvancedEventSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AdvancedEventSelector" - }, - "type": "array", - "uniqueItems": true - }, - "Arn": { - "type": "string" - }, - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSelector" - }, - "maxItems": 5, - "type": "array", - "uniqueItems": true - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "InsightSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InsightSelector" - }, - "type": "array", - "uniqueItems": true - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "IsOrganizationTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "maxLength": 200, - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - }, - "SnsTopicName": { - "maxLength": 256, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TrailName": { - "maxLength": 128, - "minLength": 3, - "pattern": "(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9]([a-zA-Z0-9\\._-])*[a-zA-Z0-9]$)", - "type": "string" - } - }, - "propertyTransform": { - "/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])" - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/SnsTopicArn" - ], - "required": [ - "S3BucketName", - "IsLogging" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudtrail.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CloudTrail::Trail" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ec2fleet.json new file mode 100644 index 0000000000..84c05df06a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ec2fleet.json @@ -0,0 +1,1608 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "enum": [ + "use-capacity-reservations-first" + ], + "type": "string" + } + }, + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "enum": [ + "a1.2xlarge", + "a1.4xlarge", + "a1.large", + "a1.medium", + "a1.metal", + "a1.xlarge", + "c1.medium", + "c1.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c3.large", + "c3.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c4.large", + "c4.xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.large", + "c5.metal", + "c5.xlarge", + "c5a.12xlarge", + "c5a.16xlarge", + "c5a.24xlarge", + "c5a.2xlarge", + "c5a.4xlarge", + "c5a.8xlarge", + "c5a.large", + "c5a.xlarge", + "c5ad.12xlarge", + "c5ad.16xlarge", + "c5ad.24xlarge", + "c5ad.2xlarge", + "c5ad.4xlarge", + "c5ad.8xlarge", + "c5ad.large", + "c5ad.xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.large", + "c5d.metal", + "c5d.xlarge", + "c5n.18xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.large", + "c5n.metal", + "c5n.xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.2xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.large", + "c6a.metal", + "c6a.xlarge", + "c6g.12xlarge", + "c6g.16xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.large", + "c6g.medium", + "c6g.metal", + "c6g.xlarge", + "c6gd.12xlarge", + "c6gd.16xlarge", + "c6gd.2xlarge", + "c6gd.4xlarge", + "c6gd.8xlarge", + "c6gd.large", + "c6gd.medium", + "c6gd.metal", + "c6gd.xlarge", + "c6gn.12xlarge", + "c6gn.16xlarge", + "c6gn.2xlarge", + "c6gn.4xlarge", + "c6gn.8xlarge", + "c6gn.large", + "c6gn.medium", + "c6gn.xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "c6i.2xlarge", + "c6i.32xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.large", + "c6i.metal", + "c6i.xlarge", + "c6id.12xlarge", + "c6id.16xlarge", + "c6id.24xlarge", + "c6id.2xlarge", + "c6id.32xlarge", + "c6id.4xlarge", + "c6id.8xlarge", + "c6id.large", + "c6id.metal", + "c6id.xlarge", + "c6in.12xlarge", + "c6in.16xlarge", + "c6in.24xlarge", + "c6in.2xlarge", + "c6in.32xlarge", + "c6in.4xlarge", + "c6in.8xlarge", + "c6in.large", + "c6in.metal", + "c6in.xlarge", + "c7a.12xlarge", + "c7a.16xlarge", + "c7a.24xlarge", + "c7a.2xlarge", + "c7a.32xlarge", + "c7a.48xlarge", + "c7a.4xlarge", + "c7a.8xlarge", + "c7a.large", + "c7a.medium", + "c7a.metal-48xl", + "c7a.xlarge", + "c7g.12xlarge", + "c7g.16xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.large", + "c7g.medium", + "c7g.metal", + "c7g.xlarge", + "c7gd.12xlarge", + "c7gd.16xlarge", + "c7gd.2xlarge", + "c7gd.4xlarge", + "c7gd.8xlarge", + "c7gd.large", + "c7gd.medium", + "c7gd.metal", + "c7gd.xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.large", + "c7gn.medium", + "c7gn.metal", + "c7gn.xlarge", + "c7i-flex.2xlarge", + "c7i-flex.4xlarge", + "c7i-flex.8xlarge", + "c7i-flex.large", + "c7i-flex.xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.2xlarge", + "c7i.48xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.large", + "c7i.metal-24xl", + "c7i.metal-48xl", + "c7i.xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.2xlarge", + "c8g.48xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.large", + "c8g.medium", + "c8g.metal-24xl", + "c8g.metal-48xl", + "c8g.xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "cg1.4xlarge", + "cr1.8xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "d2.xlarge", + "d3.2xlarge", + "d3.4xlarge", + "d3.8xlarge", + "d3.xlarge", + "d3en.12xlarge", + "d3en.2xlarge", + "d3en.4xlarge", + "d3en.6xlarge", + "d3en.8xlarge", + "d3en.xlarge", + "dl1.24xlarge", + "dl2q.24xlarge", + "f1.16xlarge", + "f1.2xlarge", + "f1.4xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.16xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3s.xlarge", + "g4ad.16xlarge", + "g4ad.2xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.metal", + "g4dn.xlarge", + "g5.12xlarge", + "g5.16xlarge", + "g5.24xlarge", + "g5.2xlarge", + "g5.48xlarge", + "g5.4xlarge", + "g5.8xlarge", + "g5.xlarge", + "g5g.16xlarge", + "g5g.2xlarge", + "g5g.4xlarge", + "g5g.8xlarge", + "g5g.metal", + "g5g.xlarge", + "g6.12xlarge", + "g6.16xlarge", + "g6.24xlarge", + "g6.2xlarge", + "g6.48xlarge", + "g6.4xlarge", + "g6.8xlarge", + "g6.xlarge", + "g6e.12xlarge", + "g6e.16xlarge", + "g6e.24xlarge", + "g6e.2xlarge", + "g6e.48xlarge", + "g6e.4xlarge", + "g6e.8xlarge", + "g6e.xlarge", + "gr6.4xlarge", + "gr6.8xlarge", + "h1.16xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "hi1.4xlarge", + "hpc6a.48xlarge", + "hpc6id.32xlarge", + "hpc7a.12xlarge", + "hpc7a.24xlarge", + "hpc7a.48xlarge", + "hpc7a.96xlarge", + "hpc7g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hs1.8xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i2.xlarge", + "i3.16xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.large", + "i3.metal", + "i3.xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.large", + "i3en.metal", + "i3en.xlarge", + "i4g.16xlarge", + "i4g.2xlarge", + "i4g.4xlarge", + "i4g.8xlarge", + "i4g.large", + "i4g.xlarge", + "i4i.12xlarge", + "i4i.16xlarge", + "i4i.24xlarge", + "i4i.2xlarge", + "i4i.32xlarge", + "i4i.4xlarge", + "i4i.8xlarge", + "i4i.large", + "i4i.metal", + "i4i.xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.48xlarge", + "i7ie.6xlarge", + "i7ie.large", + "i7ie.xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.large", + "i8g.metal-24xl", + "i8g.xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "inf1.24xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.xlarge", + "inf2.24xlarge", + "inf2.48xlarge", + "inf2.8xlarge", + "inf2.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", + "m1.large", + "m1.medium", + "m1.small", + "m1.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "m2.xlarge", + "m3.2xlarge", + "m3.large", + "m3.medium", + "m3.xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.large", + "m4.xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.large", + "m5.metal", + "m5.xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.large", + "m5a.xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.large", + "m5ad.xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.large", + "m5d.metal", + "m5d.xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.large", + "m5dn.metal", + "m5dn.xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.large", + "m5n.metal", + "m5n.xlarge", + "m5zn.12xlarge", + "m5zn.2xlarge", + "m5zn.3xlarge", + "m5zn.6xlarge", + "m5zn.large", + "m5zn.metal", + "m5zn.xlarge", + "m6a.12xlarge", + "m6a.16xlarge", + "m6a.24xlarge", + "m6a.2xlarge", + "m6a.32xlarge", + "m6a.48xlarge", + "m6a.4xlarge", + "m6a.8xlarge", + "m6a.large", + "m6a.metal", + "m6a.xlarge", + "m6g.12xlarge", + "m6g.16xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.large", + "m6g.medium", + "m6g.metal", + "m6g.xlarge", + "m6gd.12xlarge", + "m6gd.16xlarge", + "m6gd.2xlarge", + "m6gd.4xlarge", + "m6gd.8xlarge", + "m6gd.large", + "m6gd.medium", + "m6gd.metal", + "m6gd.xlarge", + "m6i.12xlarge", + "m6i.16xlarge", + "m6i.24xlarge", + "m6i.2xlarge", + "m6i.32xlarge", + "m6i.4xlarge", + "m6i.8xlarge", + "m6i.large", + "m6i.metal", + "m6i.xlarge", + "m6id.12xlarge", + "m6id.16xlarge", + "m6id.24xlarge", + "m6id.2xlarge", + "m6id.32xlarge", + "m6id.4xlarge", + "m6id.8xlarge", + "m6id.large", + "m6id.metal", + "m6id.xlarge", + "m6idn.12xlarge", + "m6idn.16xlarge", + "m6idn.24xlarge", + "m6idn.2xlarge", + "m6idn.32xlarge", + "m6idn.4xlarge", + "m6idn.8xlarge", + "m6idn.large", + "m6idn.metal", + "m6idn.xlarge", + "m6in.12xlarge", + "m6in.16xlarge", + "m6in.24xlarge", + "m6in.2xlarge", + "m6in.32xlarge", + "m6in.4xlarge", + "m6in.8xlarge", + "m6in.large", + "m6in.metal", + "m6in.xlarge", + "m7a.12xlarge", + "m7a.16xlarge", + "m7a.24xlarge", + "m7a.2xlarge", + "m7a.32xlarge", + "m7a.48xlarge", + "m7a.4xlarge", + "m7a.8xlarge", + "m7a.large", + "m7a.medium", + "m7a.metal-48xl", + "m7a.xlarge", + "m7g.12xlarge", + "m7g.16xlarge", + "m7g.2xlarge", + "m7g.4xlarge", + "m7g.8xlarge", + "m7g.large", + "m7g.medium", + "m7g.metal", + "m7g.xlarge", + "m7gd.12xlarge", + "m7gd.16xlarge", + "m7gd.2xlarge", + "m7gd.4xlarge", + "m7gd.8xlarge", + "m7gd.large", + "m7gd.medium", + "m7gd.metal", + "m7gd.xlarge", + "m7i-flex.2xlarge", + "m7i-flex.4xlarge", + "m7i-flex.8xlarge", + "m7i-flex.large", + "m7i-flex.xlarge", + "m7i.12xlarge", + "m7i.16xlarge", + "m7i.24xlarge", + "m7i.2xlarge", + "m7i.48xlarge", + "m7i.4xlarge", + "m7i.8xlarge", + "m7i.large", + "m7i.metal-24xl", + "m7i.metal-48xl", + "m7i.xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.2xlarge", + "m8g.48xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.large", + "m8g.medium", + "m8g.metal-24xl", + "m8g.metal-48xl", + "m8g.xlarge", + "mac1.metal", + "mac2-m1ultra.metal", + "mac2-m2.metal", + "mac2-m2pro.metal", + "mac2.metal", + "p2.16xlarge", + "p2.8xlarge", + "p2.xlarge", + "p3.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3dn.24xlarge", + "p4d.24xlarge", + "p4de.24xlarge", + "p5.48xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r3.large", + "r3.xlarge", + "r4.16xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.large", + "r4.xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.large", + "r5.metal", + "r5.xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.large", + "r5a.xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.large", + "r5ad.xlarge", + "r5b.12xlarge", + "r5b.16xlarge", + "r5b.24xlarge", + "r5b.2xlarge", + "r5b.4xlarge", + "r5b.8xlarge", + "r5b.large", + "r5b.metal", + "r5b.xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.large", + "r5d.metal", + "r5d.xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.large", + "r5dn.metal", + "r5dn.xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.large", + "r5n.metal", + "r5n.xlarge", + "r6a.12xlarge", + "r6a.16xlarge", + "r6a.24xlarge", + "r6a.2xlarge", + "r6a.32xlarge", + "r6a.48xlarge", + "r6a.4xlarge", + "r6a.8xlarge", + "r6a.large", + "r6a.metal", + "r6a.xlarge", + "r6g.12xlarge", + "r6g.16xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.large", + "r6g.medium", + "r6g.metal", + "r6g.xlarge", + "r6gd.12xlarge", + "r6gd.16xlarge", + "r6gd.2xlarge", + "r6gd.4xlarge", + "r6gd.8xlarge", + "r6gd.large", + "r6gd.medium", + "r6gd.metal", + "r6gd.xlarge", + "r6i.12xlarge", + "r6i.16xlarge", + "r6i.24xlarge", + "r6i.2xlarge", + "r6i.32xlarge", + "r6i.4xlarge", + "r6i.8xlarge", + "r6i.large", + "r6i.metal", + "r6i.xlarge", + "r6id.12xlarge", + "r6id.16xlarge", + "r6id.24xlarge", + "r6id.2xlarge", + "r6id.32xlarge", + "r6id.4xlarge", + "r6id.8xlarge", + "r6id.large", + "r6id.metal", + "r6id.xlarge", + "r6idn.12xlarge", + "r6idn.16xlarge", + "r6idn.24xlarge", + "r6idn.2xlarge", + "r6idn.32xlarge", + "r6idn.4xlarge", + "r6idn.8xlarge", + "r6idn.large", + "r6idn.metal", + "r6idn.xlarge", + "r6in.12xlarge", + "r6in.16xlarge", + "r6in.24xlarge", + "r6in.2xlarge", + "r6in.32xlarge", + "r6in.4xlarge", + "r6in.8xlarge", + "r6in.large", + "r6in.metal", + "r6in.xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.2xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.large", + "r7a.medium", + "r7a.metal-48xl", + "r7a.xlarge", + "r7g.12xlarge", + "r7g.16xlarge", + "r7g.2xlarge", + "r7g.4xlarge", + "r7g.8xlarge", + "r7g.large", + "r7g.medium", + "r7g.metal", + "r7g.xlarge", + "r7gd.12xlarge", + "r7gd.16xlarge", + "r7gd.2xlarge", + "r7gd.4xlarge", + "r7gd.8xlarge", + "r7gd.large", + "r7gd.medium", + "r7gd.metal", + "r7gd.xlarge", + "r7i.12xlarge", + "r7i.16xlarge", + "r7i.24xlarge", + "r7i.2xlarge", + "r7i.48xlarge", + "r7i.4xlarge", + "r7i.8xlarge", + "r7i.large", + "r7i.metal-24xl", + "r7i.metal-48xl", + "r7i.xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.2xlarge", + "r7iz.32xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.large", + "r7iz.metal-16xl", + "r7iz.metal-32xl", + "r7iz.xlarge", + "r8g.12xlarge", + "r8g.16xlarge", + "r8g.24xlarge", + "r8g.2xlarge", + "r8g.48xlarge", + "r8g.4xlarge", + "r8g.8xlarge", + "r8g.large", + "r8g.medium", + "r8g.metal-24xl", + "r8g.metal-48xl", + "r8g.xlarge", + "t1.micro", + "t2.2xlarge", + "t2.large", + "t2.medium", + "t2.micro", + "t2.nano", + "t2.small", + "t2.xlarge", + "t3.2xlarge", + "t3.large", + "t3.medium", + "t3.micro", + "t3.nano", + "t3.small", + "t3.xlarge", + "t3a.2xlarge", + "t3a.large", + "t3a.medium", + "t3a.micro", + "t3a.nano", + "t3a.small", + "t3a.xlarge", + "t4g.2xlarge", + "t4g.large", + "t4g.medium", + "t4g.micro", + "t4g.nano", + "t4g.small", + "t4g.xlarge", + "trn1.2xlarge", + "trn1.32xlarge", + "trn1n.32xlarge", + "u-12tb1.112xlarge", + "u-12tb1.metal", + "u-18tb1.112xlarge", + "u-18tb1.metal", + "u-24tb1.112xlarge", + "u-24tb1.metal", + "u-3tb1.56xlarge", + "u-6tb1.112xlarge", + "u-6tb1.56xlarge", + "u-6tb1.metal", + "u-9tb1.112xlarge", + "u-9tb1.metal", + "u7i-12tb.224xlarge", + "u7ib-12tb.224xlarge", + "u7in-16tb.224xlarge", + "u7in-24tb.224xlarge", + "u7in-32tb.224xlarge", + "vt1.24xlarge", + "vt1.3xlarge", + "vt1.6xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.16xlarge", + "x1e.2xlarge", + "x1e.32xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.xlarge", + "x2gd.12xlarge", + "x2gd.16xlarge", + "x2gd.2xlarge", + "x2gd.4xlarge", + "x2gd.8xlarge", + "x2gd.large", + "x2gd.medium", + "x2gd.metal", + "x2gd.xlarge", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2idn.metal", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.2xlarge", + "x2iedn.32xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.metal", + "x2iedn.xlarge", + "x2iezn.12xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.metal", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.2xlarge", + "x8g.48xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.large", + "x8g.medium", + "x8g.metal-24xl", + "x8g.metal-48xl", + "x8g.xlarge", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "prioritized" + ], + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "integer" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "lowestPrice", + "diversified", + "capacityOptimized", + "capacity-optimized", + "capacityOptimizedPrioritized", + "capacity-optimized-prioritized", + "priceCapacityOptimized", + "price-capacity-optimized" + ], + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "SpotTargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TotalTargetCapacity": { + "type": "integer" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FleetId" + ], + "properties": { + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "termination", + "no-termination" + ], + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request", + "instant" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FleetId" + ], + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], + "typeName": "AWS::EC2::EC2Fleet" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-spotfleet.json new file mode 100644 index 0000000000..b92bf8572f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-spotfleet.json @@ -0,0 +1,993 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/AllocationStrategy", + "/properties/SpotFleetRequestConfigData/IamFleetRole", + "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", + "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", + "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", + "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", + "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", + "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", + "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", + "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/SpotPrice", + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", + "/properties/SpotFleetRequestConfigData/Type", + "/properties/SpotFleetRequestConfigData/ValidFrom", + "/properties/SpotFleetRequestConfigData/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "requiredXor": [ + "VirtualName", + "Ebs", + "NoDevice" + ], + "type": "object" + }, + "ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/ClassicLoadBalancer" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "GroupIdentifier": { + "additionalProperties": false, + "format": "AWS::EC2::SecurityGroup.GroupId", + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "integer" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": true + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "SecondaryPrivateIpAddressCount": { + "type": "integer" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/TargetGroupsConfig" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "default": false, + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/IamInstanceProfileSpecification" + }, + "ImageId": { + "format": "AWS::EC2::Image.Id", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "Placement": { + "$ref": "#/definitions/SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "$ref": "#/definitions/GroupIdentifier" + }, + "type": "array", + "uniqueItems": true + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "capacityOptimized", + "capacityOptimizedPrioritized", + "diversified", + "lowestPrice", + "priceCapacityOptimized" + ], + "type": "string" + }, + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "Default", + "NoTermination", + "default", + "noTermination" + ], + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetLaunchSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/LaunchTemplateConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "TargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "requiredXor": [ + "LaunchSpecifications", + "LaunchTemplateConfigs" + ], + "type": "object" + }, + "SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/SpotCapacityRebalance" + } + }, + "type": "object" + }, + "SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/TargetGroup" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/SpotFleetRequestConfigData" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "SpotFleetRequestConfigData" + ], + "typeName": "AWS::EC2::SpotFleet", + "writeOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json deleted file mode 100644 index bf722d5a0b..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PackageName", - "/properties/VersionName" - ], - "definitions": { - "PackageVersionStatus": { - "enum": [ - "DRAFT", - "PUBLISHED", - "DEPRECATED" - ], - "type": "string" - }, - "ResourceAttributes": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9:_-]+$": { - "minLength": 1, - "pattern": "^[^\\p{C}]+$", - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PackageName", - "/properties/VersionName" - ], - "properties": { - "Attributes": { - "$ref": "#/definitions/ResourceAttributes" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "pattern": "^[^\\p{C}]+$", - "type": "string" - }, - "ErrorReason": { - "type": "string" - }, - "PackageName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-_.]+$", - "type": "string" - }, - "PackageVersionArn": { - "type": "string" - }, - "Status": { - "$ref": "#/definitions/PackageVersionStatus" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "VersionName": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-_.]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/ErrorReason", - "/properties/PackageVersionArn", - "/properties/Status" - ], - "required": [ - "PackageName" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::IoT::SoftwarePackageVersion" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventinvokeconfig.json similarity index 85% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json rename to src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventinvokeconfig.json index 0db5cb9651..54ec787a7c 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventinvokeconfig.json @@ -23,7 +23,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -38,7 +38,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -57,7 +57,7 @@ "$ref": "#/definitions/DestinationConfig" }, "FunctionName": { - "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", "type": "string" }, "MaximumEventAgeInSeconds": { diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LogGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/LogGroupName" - ], - "properties": { - "Arn": { - "type": "string" - }, - "DataProtectionPolicy": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "KmsKeyId": { - "maxLength": 256, - "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z", - "type": "string" - }, - "LogGroupClass": { - "default": "STANDARD", - "enum": [ - "STANDARD", - "INFREQUENT_ACCESS" - ], - "type": "string" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z", - "type": "string" - }, - "RetentionInDays": { - "enum": [ - 1, - 3, - 5, - 7, - 14, - 30, - 60, - 90, - 120, - 150, - 180, - 365, - 400, - 545, - 731, - 1096, - 1827, - 2192, - 2557, - 2922, - 3288, - 3653 - ], - "type": "integer" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::LogGroup" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FilterName", - "/properties/LogGroupName" - ], - "definitions": { - "Dimension": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "MetricTransformation": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "number" - }, - "Dimensions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Dimension" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "MetricName": { - "maxLength": 255, - "minLength": 1, - "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}", - "type": "string" - }, - "MetricNamespace": { - "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#", - "maxLength": 256, - "minLength": 1, - "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}", - "type": "string" - }, - "MetricValue": { - "maxLength": 100, - "minLength": 1, - "pattern": "^(([0-9]*)|(\\$.*))$", - "type": "string" - }, - "Unit": { - "enum": [ - "Seconds", - "Microseconds", - "Milliseconds", - "Bytes", - "Kilobytes", - "Megabytes", - "Gigabytes", - "Terabytes", - "Bits", - "Kilobits", - "Megabits", - "Gigabits", - "Terabits", - "Percent", - "Count", - "Bytes/Second", - "Kilobytes/Second", - "Megabytes/Second", - "Gigabytes/Second", - "Terabytes/Second", - "Bits/Second", - "Kilobits/Second", - "Megabits/Second", - "Gigabits/Second", - "Terabits/Second", - "Count/Second", - "None" - ], - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/LogGroupName", - "/properties/FilterName" - ], - "properties": { - "FilterName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]{1,512}", - "type": "string" - }, - "FilterPattern": { - "maxLength": 1024, - "type": "string" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}", - "type": "string" - }, - "MetricTransformations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MetricTransformation" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "replacementStrategy": "delete_then_create", - "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" - ], - "resourceLink": { - "mappings": { - "LogGroupName": "/LogGroupName", - "MetricName": "/MetricName" - }, - "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::Logs::MetricFilter" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "LogGroup": { - "maxLength": 512, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/QueryDefinitionId" - ], - "properties": { - "LogGroupNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogGroup" - }, - "type": "array" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "QueryDefinitionId": { - "maxLength": 256, - "minLength": 0, - "type": "string" - }, - "QueryString": { - "maxLength": 10000, - "minLength": 1, - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/QueryDefinitionId" - ], - "required": [ - "Name", - "QueryString" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::Logs::QueryDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FilterName", - "/properties/LogGroupName" - ], - "primaryIdentifier": [ - "/properties/FilterName", - "/properties/LogGroupName" - ], - "properties": { - "DestinationArn": { - "type": "string" - }, - "Distribution": { - "enum": [ - "Random", - "ByLogStream" - ], - "type": "string" - }, - "FilterName": { - "pattern": "[^:*]*", - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "replacementStrategy": "delete_then_create", - "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::SubscriptionFilter" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "[\\s\\S]*", - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}", - "type": "string" - }, - "AwsManaged": { - "type": "boolean" - }, - "Content": { - "maxLength": 1000000, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": [ - "object", - "string" - ] - }, - "Description": { - "maxLength": 512, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "Id": { - "maxLength": 130, - "pattern": "^p-[0-9a-zA-Z_]{8,128}$", - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "TargetIds": { - "insertionOrder": false, - "items": { - "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "SERVICE_CONTROL_POLICY", - "AISERVICES_OPT_OUT_POLICY", - "BACKUP_POLICY", - "TAG_POLICY", - "CHATBOT_POLICY", - "RESOURCE_CONTROL_POLICY" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn", - "/properties/AwsManaged" - ], - "required": [ - "Name", - "Type", - "Content" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Organizations::Policy" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py index b479a7a198..ea1166cb32 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -946,6 +946,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::PaymentCryptography::Alias", "AWS::PaymentCryptography::Key", "AWS::Personalize::Dataset", @@ -982,6 +985,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1363,8 +1367,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1446,7 +1452,6 @@ "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1456,11 +1461,12 @@ "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", "aws-bedrock-knowledgebase.json", - "aws-bedrock-prompt.json", "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1480,9 +1486,11 @@ "aws-cleanroomsml-trainingdataset.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", + "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", + "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-moduledefaultversion.json", "aws-cloudformation-moduleversion.json", @@ -1605,6 +1613,7 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", + "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -2060,6 +2069,7 @@ "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", + "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", "aws-lambda-layerversion.json", @@ -2091,6 +2101,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2238,6 +2249,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2273,6 +2287,7 @@ "aws-qldb-stream.json", "aws-quicksight-analysis.json", "aws-quicksight-dashboard.json", + "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", "aws-quicksight-folder.json", "aws-quicksight-refreshschedule.json", @@ -2284,7 +2299,9 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2458,7 +2475,6 @@ "aws-ses-mailmanagerarchive.json", "aws-ses-mailmanageringresspoint.json", "aws-ses-mailmanagerrelay.json", - "aws-ses-mailmanagerruleset.json", "aws-ses-mailmanagertrafficpolicy.json", "aws-ses-receiptfilter.json", "aws-ses-receiptrule.json", @@ -2576,6 +2592,7 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..e58c0eb4f2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-agent.json @@ -0,0 +1,552 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + }, + "RequireConfirmation": { + "$ref": "#/definitions/RequireConfirmation" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "RequireConfirmation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json new file mode 100644 index 0000000000..3ecdce91a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json @@ -0,0 +1,550 @@ +{ + "additionalProperties": false, + "definitions": { + "AnyToolChoice": { + "additionalProperties": false, + "type": "object" + }, + "AutoToolChoice": { + "additionalProperties": false, + "type": "object" + }, + "ChatPromptTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "InputVariables": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "type": "array" + }, + "Messages": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Message" + }, + "minItems": 0, + "type": "array" + }, + "System": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/SystemContentBlock" + }, + "minItems": 0, + "type": "array" + }, + "ToolConfiguration": { + "$ref": "#/definitions/ToolConfiguration" + } + }, + "required": [ + "Messages" + ], + "type": "object" + }, + "ContentBlock": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "ConversationRole": { + "enum": [ + "user", + "assistant" + ], + "type": "string" + }, + "Message": { + "additionalProperties": false, + "properties": { + "Content": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ContentBlock" + }, + "minItems": 1, + "type": "array" + }, + "Role": { + "$ref": "#/definitions/ConversationRole" + } + }, + "required": [ + "Role", + "Content" + ], + "type": "object" + }, + "PromptAgentResource": { + "additionalProperties": false, + "properties": { + "AgentIdentifier": { + "maxLength": 2048, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$", + "type": "string" + } + }, + "required": [ + "AgentIdentifier" + ], + "type": "object" + }, + "PromptGenAiResource": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Agent": { + "$ref": "#/definitions/PromptAgentResource" + } + }, + "required": [ + "Agent" + ], + "title": "Agent", + "type": "object" + } + ] + }, + "PromptInferenceConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "$ref": "#/definitions/PromptModelInferenceConfiguration" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "PromptInputVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + } + }, + "type": "object" + }, + "PromptModelInferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTokens": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "PromptTemplateConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "$ref": "#/definitions/TextPromptTemplateConfiguration" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Chat": { + "$ref": "#/definitions/ChatPromptTemplateConfiguration" + } + }, + "required": [ + "Chat" + ], + "title": "Chat", + "type": "object" + } + ] + }, + "PromptTemplateType": { + "enum": [ + "TEXT", + "CHAT" + ], + "type": "string" + }, + "PromptVariant": { + "additionalProperties": false, + "properties": { + "GenAiResource": { + "$ref": "#/definitions/PromptGenAiResource" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/PromptInferenceConfiguration" + }, + "ModelId": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$", + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/PromptTemplateConfiguration" + }, + "TemplateType": { + "$ref": "#/definitions/PromptTemplateType" + } + }, + "required": [ + "Name", + "TemplateType", + "TemplateConfiguration" + ], + "type": "object" + }, + "SpecificToolChoice": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "SystemContentBlock": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "TextPromptTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "InputVariables": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "type": "array" + }, + "Text": { + "maxLength": 200000, + "minLength": 1, + "type": "string" + }, + "TextS3Location": { + "$ref": "#/definitions/TextS3Location" + } + }, + "required": [], + "type": "object" + }, + "TextS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "Key": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "Version": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "Tool": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ToolSpec": { + "$ref": "#/definitions/ToolSpecification" + } + }, + "required": [ + "ToolSpec" + ], + "title": "ToolSpec", + "type": "object" + } + ] + }, + "ToolChoice": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Auto": { + "$ref": "#/definitions/AutoToolChoice" + } + }, + "required": [ + "Auto" + ], + "title": "Auto", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Any": { + "$ref": "#/definitions/AnyToolChoice" + } + }, + "required": [ + "Any" + ], + "title": "Any", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Tool": { + "$ref": "#/definitions/SpecificToolChoice" + } + }, + "required": [ + "Tool" + ], + "title": "Tool", + "type": "object" + } + ] + }, + "ToolConfiguration": { + "additionalProperties": false, + "properties": { + "ToolChoice": { + "$ref": "#/definitions/ToolChoice" + }, + "Tools": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Tool" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Tools" + ], + "type": "object" + }, + "ToolInputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Json": { + "type": "object" + } + }, + "required": [ + "Json" + ], + "title": "Json", + "type": "object" + } + ] + }, + "ToolSpecification": { + "additionalProperties": false, + "properties": { + "Description": { + "minLength": 1, + "type": "string" + }, + "InputSchema": { + "$ref": "#/definitions/ToolInputSchema" + }, + "Name": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" + } + }, + "required": [ + "Name", + "InputSchema" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10})$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "DefaultVariant": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "Id": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + }, + "Variants": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptVariant" + }, + "maxItems": 1, + "minItems": 0, + "type": "array" + }, + "Version": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/UpdatedAt", + "/properties/Version" + ], + "required": [ + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Prompt", + "writeOnlyProperties": [ + "/properties/Variants/*/TemplateConfiguration/Text/TextS3Location" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json index 069e16e3c5..740e9f1a84 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json @@ -31,6 +31,22 @@ } }, "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" } }, "primaryIdentifier": [ @@ -143,6 +159,14 @@ "type": "array", "uniqueItems": true }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, "VpcEndpointType": { "enum": [ "Interface", @@ -169,9 +193,10 @@ ], "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true }, "typeName": "AWS::EC2::VPCEndpoint" } diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-custompermissions.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..0b8ef8a803 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-custompermissions.json @@ -0,0 +1,139 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "definitions": { + "Capabilities": { + "additionalProperties": false, + "properties": { + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + } + }, + "type": "object" + }, + "CapabilityState": { + "enum": [ + "DENY" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9+=,.@_-]+$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::QuickSight::CustomPermissions" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..69697781a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json @@ -0,0 +1,903 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DeliverToQBusinessAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "ApplicationId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "IndexId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "ApplicationId", + "IndexId", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToQBusiness": { + "$ref": "#/definitions/DeliverToQBusinessAction" + } + }, + "required": [ + "DeliverToQBusiness" + ], + "title": "DeliverToQBusiness", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "MimeHeaderAttribute": { + "pattern": "^X-[a-zA-Z0-9-]{1,256}$", + "type": "string" + } + }, + "required": [ + "MimeHeaderAttribute" + ], + "title": "MimeHeaderAttribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} 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 c35fffaf1c..656284552d 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -728,6 +728,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -814,11 +815,9 @@ "aws-chatbot-microsoftteamschannelconfiguration.json", "aws-chatbot-slackchannelconfiguration.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-publictypeversion.json", "aws-cloudformation-publisher.json", @@ -932,6 +931,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -989,6 +989,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1021,8 +1022,6 @@ "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-events-apidestination.json", "aws-events-archive.json", @@ -1111,7 +1110,6 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", - "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", "aws-lambda-layerversion.json", @@ -1187,9 +1185,7 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-eventinvokeconfig.json new file mode 100644 index 0000000000..54ec787a7c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-eventinvokeconfig.json @@ -0,0 +1,90 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FunctionName", + "/properties/Qualifier" + ], + "definitions": { + "DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/OnSuccess" + } + }, + "type": "object" + }, + "OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "maxLength": 350, + "minLength": 0, + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "maxLength": 350, + "minLength": 0, + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FunctionName", + "/properties/Qualifier" + ], + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/DestinationConfig" + }, + "FunctionName": { + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "maximum": 21600, + "minimum": 60, + "type": "integer" + }, + "MaximumRetryAttempts": { + "maximum": 2, + "minimum": 0, + "type": "integer" + }, + "Qualifier": { + "pattern": "^(|[a-zA-Z0-9$_-]{1,129})$", + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Lambda::EventInvokeConfig" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py index 879e91345e..bb2a1721cd 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -118,6 +118,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -742,6 +743,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Pipes::Pipe", "AWS::QuickSight::Analysis", "AWS::QuickSight::Dashboard", @@ -1075,8 +1079,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1128,10 +1134,12 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1239,7 +1247,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1394,6 +1401,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1715,7 +1723,6 @@ "aws-opensearchserverless-securityconfig.json", "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-instance.json", @@ -1735,6 +1742,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-pipes-pipe.json", "aws-quicksight-analysis.json", "aws-quicksight-dashboard.json", @@ -1749,7 +1759,9 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1958,6 +1970,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-opensearchservice-domain.json new file mode 100644 index 0000000000..2f0285dbe8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-opensearchservice-domain.json @@ -0,0 +1,573 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EncryptionAtRestOptions/Enabled", + "/properties/EncryptionAtRestOptions/KmsKeyId", + "/properties/AdvancedSecurityOptions/Enabled" + ], + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "AnonymousAuthDisableDate": { + "type": "string" + }, + "AnonymousAuthEnabled": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "JWTOptions": { + "$ref": "#/definitions/JWTOptions" + }, + "MasterUserOptions": { + "$ref": "#/definitions/MasterUserOptions" + }, + "SAMLOptions": { + "$ref": "#/definitions/SAMLOptions" + } + }, + "type": "object" + }, + "ClusterConfig": { + "additionalProperties": false, + "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/ColdStorageOptions" + }, + "DedicatedMasterCount": { + "type": "integer" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "MultiAZWithStandbyEnabled": { + "type": "boolean" + }, + "WarmCount": { + "type": "integer" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, + "Idp": { + "additionalProperties": false, + "properties": { + "EntityId": { + "type": "string" + }, + "MetadataContent": { + "maxLength": 1048576, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetadataContent", + "EntityId" + ], + "type": "object" + }, + "JWTOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "PublicKey": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "OffPeakWindow": { + "additionalProperties": false, + "properties": { + "WindowStartTime": { + "$ref": "#/definitions/WindowStartTime" + } + }, + "type": "object" + }, + "OffPeakWindowOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OffPeakWindow": { + "$ref": "#/definitions/OffPeakWindow" + } + }, + "type": "object" + }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, + "SAMLOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Idp": { + "$ref": "#/definitions/Idp" + }, + "MasterBackendRole": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SessionTimeoutMinutes": { + "type": "integer" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceSoftwareOptions": { + "additionalProperties": false, + "properties": { + "AutomatedUpdateDate": { + "type": "string" + }, + "Cancellable": { + "type": "boolean" + }, + "CurrentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NewVersion": { + "type": "string" + }, + "OptionalDeployment": { + "type": "boolean" + }, + "UpdateAvailable": { + "type": "boolean" + }, + "UpdateStatus": { + "type": "string" + } + }, + "type": "object" + }, + "SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "integer" + } + }, + "type": "object" + }, + "SoftwareUpdateOptions": { + "additionalProperties": false, + "properties": { + "AutoSoftwareUpdateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 0, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "WindowStartTime": { + "additionalProperties": false, + "properties": { + "Hours": { + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "Minutes": { + "maximum": 59, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "AccessPolicies": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AdvancedSecurityOptionsInput" + }, + "Arn": { + "type": "string" + }, + "ClusterConfig": { + "$ref": "#/definitions/ClusterConfig" + }, + "CognitoOptions": { + "$ref": "#/definitions/CognitoOptions" + }, + "DomainArn": { + "type": "string" + }, + "DomainEndpoint": { + "type": "string" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/DomainEndpointOptions" + }, + "DomainEndpointV2": { + "type": "string" + }, + "DomainEndpoints": { + "additionalProperties": false, + "patternProperties": { + "^.*$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/EBSOptions" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/EncryptionAtRestOptions" + }, + "EngineVersion": { + "type": "string" + }, + "IPAddressType": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "$ref": "#/definitions/LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/NodeToNodeEncryptionOptions" + }, + "OffPeakWindowOptions": { + "$ref": "#/definitions/OffPeakWindowOptions" + }, + "ServiceSoftwareOptions": { + "$ref": "#/definitions/ServiceSoftwareOptions" + }, + "SkipShardMigrationWait": { + "type": "boolean" + }, + "SnapshotOptions": { + "$ref": "#/definitions/SnapshotOptions" + }, + "SoftwareUpdateOptions": { + "$ref": "#/definitions/SoftwareUpdateOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VPCOptions": { + "$ref": "#/definitions/VPCOptions" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/DomainArn", + "/properties/DomainEndpoint", + "/properties/DomainEndpointV2", + "/properties/DomainEndpoints", + "/properties/ServiceSoftwareOptions", + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::OpenSearchService::Domain", + "writeOnlyProperties": [ + "/properties/AdvancedSecurityOptions/MasterUserOptions", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py index 2701bad209..66da4693c5 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -940,11 +940,9 @@ "aws-chatbot-slackchannelconfiguration.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-moduledefaultversion.json", "aws-cloudformation-moduleversion.json", @@ -1023,7 +1021,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1101,6 +1098,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -1162,6 +1160,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1200,8 +1199,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1546,6 +1543,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py index 9e66ca5620..6c43fa7726 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -233,6 +233,10 @@ "AWS::EC2::InternetGateway", "AWS::EC2::KeyPair", "AWS::EC2::LaunchTemplate", + "AWS::EC2::LocalGatewayRoute", + "AWS::EC2::LocalGatewayRouteTable", + "AWS::EC2::LocalGatewayRouteTableVPCAssociation", + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation", "AWS::EC2::NatGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkAclEntry", @@ -742,6 +746,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -813,6 +818,7 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -941,6 +947,10 @@ "aws-ec2-ipamscope.json", "aws-ec2-keypair.json", "aws-ec2-launchtemplate.json", + "aws-ec2-localgatewayroute.json", + "aws-ec2-localgatewayroutetable.json", + "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json", + "aws-ec2-localgatewayroutetablevpcassociation.json", "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", @@ -1002,6 +1012,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1186,7 +1197,6 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1203,9 +1213,7 @@ "aws-pipes-pipe.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1347,6 +1355,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-opensearchservice-domain.json new file mode 100644 index 0000000000..2f0285dbe8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-opensearchservice-domain.json @@ -0,0 +1,573 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EncryptionAtRestOptions/Enabled", + "/properties/EncryptionAtRestOptions/KmsKeyId", + "/properties/AdvancedSecurityOptions/Enabled" + ], + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "AnonymousAuthDisableDate": { + "type": "string" + }, + "AnonymousAuthEnabled": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "JWTOptions": { + "$ref": "#/definitions/JWTOptions" + }, + "MasterUserOptions": { + "$ref": "#/definitions/MasterUserOptions" + }, + "SAMLOptions": { + "$ref": "#/definitions/SAMLOptions" + } + }, + "type": "object" + }, + "ClusterConfig": { + "additionalProperties": false, + "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/ColdStorageOptions" + }, + "DedicatedMasterCount": { + "type": "integer" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "MultiAZWithStandbyEnabled": { + "type": "boolean" + }, + "WarmCount": { + "type": "integer" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, + "Idp": { + "additionalProperties": false, + "properties": { + "EntityId": { + "type": "string" + }, + "MetadataContent": { + "maxLength": 1048576, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetadataContent", + "EntityId" + ], + "type": "object" + }, + "JWTOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "PublicKey": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "OffPeakWindow": { + "additionalProperties": false, + "properties": { + "WindowStartTime": { + "$ref": "#/definitions/WindowStartTime" + } + }, + "type": "object" + }, + "OffPeakWindowOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OffPeakWindow": { + "$ref": "#/definitions/OffPeakWindow" + } + }, + "type": "object" + }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, + "SAMLOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Idp": { + "$ref": "#/definitions/Idp" + }, + "MasterBackendRole": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SessionTimeoutMinutes": { + "type": "integer" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceSoftwareOptions": { + "additionalProperties": false, + "properties": { + "AutomatedUpdateDate": { + "type": "string" + }, + "Cancellable": { + "type": "boolean" + }, + "CurrentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NewVersion": { + "type": "string" + }, + "OptionalDeployment": { + "type": "boolean" + }, + "UpdateAvailable": { + "type": "boolean" + }, + "UpdateStatus": { + "type": "string" + } + }, + "type": "object" + }, + "SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "integer" + } + }, + "type": "object" + }, + "SoftwareUpdateOptions": { + "additionalProperties": false, + "properties": { + "AutoSoftwareUpdateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 0, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "WindowStartTime": { + "additionalProperties": false, + "properties": { + "Hours": { + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "Minutes": { + "maximum": 59, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "AccessPolicies": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AdvancedSecurityOptionsInput" + }, + "Arn": { + "type": "string" + }, + "ClusterConfig": { + "$ref": "#/definitions/ClusterConfig" + }, + "CognitoOptions": { + "$ref": "#/definitions/CognitoOptions" + }, + "DomainArn": { + "type": "string" + }, + "DomainEndpoint": { + "type": "string" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/DomainEndpointOptions" + }, + "DomainEndpointV2": { + "type": "string" + }, + "DomainEndpoints": { + "additionalProperties": false, + "patternProperties": { + "^.*$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/EBSOptions" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/EncryptionAtRestOptions" + }, + "EngineVersion": { + "type": "string" + }, + "IPAddressType": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "$ref": "#/definitions/LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/NodeToNodeEncryptionOptions" + }, + "OffPeakWindowOptions": { + "$ref": "#/definitions/OffPeakWindowOptions" + }, + "ServiceSoftwareOptions": { + "$ref": "#/definitions/ServiceSoftwareOptions" + }, + "SkipShardMigrationWait": { + "type": "boolean" + }, + "SnapshotOptions": { + "$ref": "#/definitions/SnapshotOptions" + }, + "SoftwareUpdateOptions": { + "$ref": "#/definitions/SoftwareUpdateOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VPCOptions": { + "$ref": "#/definitions/VPCOptions" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/DomainArn", + "/properties/DomainEndpoint", + "/properties/DomainEndpointV2", + "/properties/DomainEndpoints", + "/properties/ServiceSoftwareOptions", + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::OpenSearchService::Domain", + "writeOnlyProperties": [ + "/properties/AdvancedSecurityOptions/MasterUserOptions", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py index 13613c07a0..4acf5abe59 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -920,6 +920,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -1330,8 +1333,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1423,7 +1428,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1537,7 +1544,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1935,6 +1941,7 @@ "aws-iotanalytics-dataset.json", "aws-iotanalytics-datastore.json", "aws-iotanalytics-pipeline.json", + "aws-iotcoredeviceadvisor-suitedefinition.json", "aws-iotevents-alarmmodel.json", "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", @@ -2190,6 +2197,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json deleted file mode 100644 index 9f370d1035..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "DevicePermissionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "DeviceUnderTest": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "ThingArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - } - }, - "type": "object" - }, - "Devices": { - "items": { - "$ref": "#/definitions/DeviceUnderTest" - }, - "maxItems": 2, - "minItems": 0, - "type": "array" - }, - "IntendedForQualification": { - "type": "boolean" - }, - "RootGroup": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "SuiteDefinitionName": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/SuiteDefinitionId" - ], - "properties": { - "SuiteDefinitionArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "SuiteDefinitionConfiguration": { - "additionalProperties": false, - "properties": { - "DevicePermissionRoleArn": { - "$ref": "#/definitions/DevicePermissionRoleArn" - }, - "Devices": { - "$ref": "#/definitions/Devices" - }, - "IntendedForQualification": { - "$ref": "#/definitions/IntendedForQualification" - }, - "RootGroup": { - "$ref": "#/definitions/RootGroup" - }, - "SuiteDefinitionName": { - "$ref": "#/definitions/SuiteDefinitionName" - } - }, - "required": [ - "DevicePermissionRoleArn", - "RootGroup" - ], - "type": "object" - }, - "SuiteDefinitionId": { - "maxLength": 36, - "minLength": 12, - "type": "string" - }, - "SuiteDefinitionVersion": { - "maxLength": 255, - "minLength": 2, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/SuiteDefinitionId", - "/properties/SuiteDefinitionArn", - "/properties/SuiteDefinitionVersion" - ], - "required": [ - "SuiteDefinitionConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-device-advisor.git", - "typeName": "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" -} 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 dda94b8768..9f65286a3c 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -156,6 +156,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1336,6 +1337,7 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1354,6 +1356,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1500,7 +1503,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1665,6 +1667,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1927,10 +1930,12 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-integration.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -2099,9 +2104,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2312,6 +2315,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json deleted file mode 100644 index 7d716f5622..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/IntegrationName", - "/properties/IntegrationType", - "/properties/ResourceConfig" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "[\\w#+=/:,.@-]*\\*?", - "type": "string" - }, - "OpenSearchResourceConfig": { - "additionalProperties": false, - "properties": { - "ApplicationARN": { - "$ref": "#/definitions/Arn" - }, - "DashboardViewerPrincipals": { - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array" - }, - "DataSourceRoleArn": { - "$ref": "#/definitions/Arn" - }, - "KmsKeyArn": { - "$ref": "#/definitions/Arn" - }, - "RetentionDays": { - "maximum": 3650, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DataSourceRoleArn", - "DashboardViewerPrincipals" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/IntegrationName" - ], - "properties": { - "IntegrationName": { - "maxLength": 256, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "IntegrationStatus": { - "enum": [ - "PROVISIONING", - "ACTIVE", - "FAILED" - ], - "type": "string" - }, - "IntegrationType": { - "enum": [ - "OPENSEARCH" - ], - "type": "string" - }, - "ResourceConfig": { - "additionalProperties": false, - "properties": { - "OpenSearchResourceConfig": { - "$ref": "#/definitions/OpenSearchResourceConfig" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/IntegrationStatus" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "IntegrationName", - "IntegrationType", - "ResourceConfig" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::Integration", - "writeOnlyProperties": [ - "/properties/ResourceConfig" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py index 8300f92826..e5e973526c 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1112,6 +1112,7 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1130,6 +1131,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1229,7 +1231,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1376,6 +1377,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1675,7 +1677,6 @@ "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", "aws-opensearchservice-application.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-instance.json", @@ -1705,9 +1706,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1912,6 +1911,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-opensearchservice-domain.json new file mode 100644 index 0000000000..2f0285dbe8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-opensearchservice-domain.json @@ -0,0 +1,573 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EncryptionAtRestOptions/Enabled", + "/properties/EncryptionAtRestOptions/KmsKeyId", + "/properties/AdvancedSecurityOptions/Enabled" + ], + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "AnonymousAuthDisableDate": { + "type": "string" + }, + "AnonymousAuthEnabled": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "JWTOptions": { + "$ref": "#/definitions/JWTOptions" + }, + "MasterUserOptions": { + "$ref": "#/definitions/MasterUserOptions" + }, + "SAMLOptions": { + "$ref": "#/definitions/SAMLOptions" + } + }, + "type": "object" + }, + "ClusterConfig": { + "additionalProperties": false, + "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/ColdStorageOptions" + }, + "DedicatedMasterCount": { + "type": "integer" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "MultiAZWithStandbyEnabled": { + "type": "boolean" + }, + "WarmCount": { + "type": "integer" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, + "Idp": { + "additionalProperties": false, + "properties": { + "EntityId": { + "type": "string" + }, + "MetadataContent": { + "maxLength": 1048576, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetadataContent", + "EntityId" + ], + "type": "object" + }, + "JWTOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "PublicKey": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "OffPeakWindow": { + "additionalProperties": false, + "properties": { + "WindowStartTime": { + "$ref": "#/definitions/WindowStartTime" + } + }, + "type": "object" + }, + "OffPeakWindowOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OffPeakWindow": { + "$ref": "#/definitions/OffPeakWindow" + } + }, + "type": "object" + }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, + "SAMLOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Idp": { + "$ref": "#/definitions/Idp" + }, + "MasterBackendRole": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SessionTimeoutMinutes": { + "type": "integer" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceSoftwareOptions": { + "additionalProperties": false, + "properties": { + "AutomatedUpdateDate": { + "type": "string" + }, + "Cancellable": { + "type": "boolean" + }, + "CurrentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NewVersion": { + "type": "string" + }, + "OptionalDeployment": { + "type": "boolean" + }, + "UpdateAvailable": { + "type": "boolean" + }, + "UpdateStatus": { + "type": "string" + } + }, + "type": "object" + }, + "SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "integer" + } + }, + "type": "object" + }, + "SoftwareUpdateOptions": { + "additionalProperties": false, + "properties": { + "AutoSoftwareUpdateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 0, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "WindowStartTime": { + "additionalProperties": false, + "properties": { + "Hours": { + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "Minutes": { + "maximum": 59, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "AccessPolicies": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AdvancedSecurityOptionsInput" + }, + "Arn": { + "type": "string" + }, + "ClusterConfig": { + "$ref": "#/definitions/ClusterConfig" + }, + "CognitoOptions": { + "$ref": "#/definitions/CognitoOptions" + }, + "DomainArn": { + "type": "string" + }, + "DomainEndpoint": { + "type": "string" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/DomainEndpointOptions" + }, + "DomainEndpointV2": { + "type": "string" + }, + "DomainEndpoints": { + "additionalProperties": false, + "patternProperties": { + "^.*$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/EBSOptions" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/EncryptionAtRestOptions" + }, + "EngineVersion": { + "type": "string" + }, + "IPAddressType": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "$ref": "#/definitions/LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/NodeToNodeEncryptionOptions" + }, + "OffPeakWindowOptions": { + "$ref": "#/definitions/OffPeakWindowOptions" + }, + "ServiceSoftwareOptions": { + "$ref": "#/definitions/ServiceSoftwareOptions" + }, + "SkipShardMigrationWait": { + "type": "boolean" + }, + "SnapshotOptions": { + "$ref": "#/definitions/SnapshotOptions" + }, + "SoftwareUpdateOptions": { + "$ref": "#/definitions/SoftwareUpdateOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VPCOptions": { + "$ref": "#/definitions/VPCOptions" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/DomainArn", + "/properties/DomainEndpoint", + "/properties/DomainEndpointV2", + "/properties/DomainEndpoints", + "/properties/ServiceSoftwareOptions", + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::OpenSearchService::Domain", + "writeOnlyProperties": [ + "/properties/AdvancedSecurityOptions/MasterUserOptions", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 d1fac84674..3631a41d7d 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -806,11 +806,9 @@ "aws-chatbot-slackchannelconfiguration.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-publictypeversion.json", "aws-cloudformation-publisher.json", @@ -906,7 +904,6 @@ "aws-ec2-clientvpntargetnetworkassociation.json", "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", - "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", "aws-ec2-eip.json", "aws-ec2-eipassociation.json", @@ -931,6 +928,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -990,6 +988,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1021,8 +1020,6 @@ "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-events-eventbus.json", "aws-events-eventbuspolicy.json", "aws-events-rule.json", @@ -1098,7 +1095,6 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", - "aws-lambda-eventinvokeconfig.json", "aws-lambda-function.json", "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", @@ -1169,9 +1165,7 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-ec2fleet.json new file mode 100644 index 0000000000..84c05df06a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-ec2fleet.json @@ -0,0 +1,1608 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "enum": [ + "use-capacity-reservations-first" + ], + "type": "string" + } + }, + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "enum": [ + "a1.2xlarge", + "a1.4xlarge", + "a1.large", + "a1.medium", + "a1.metal", + "a1.xlarge", + "c1.medium", + "c1.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c3.large", + "c3.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c4.large", + "c4.xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.large", + "c5.metal", + "c5.xlarge", + "c5a.12xlarge", + "c5a.16xlarge", + "c5a.24xlarge", + "c5a.2xlarge", + "c5a.4xlarge", + "c5a.8xlarge", + "c5a.large", + "c5a.xlarge", + "c5ad.12xlarge", + "c5ad.16xlarge", + "c5ad.24xlarge", + "c5ad.2xlarge", + "c5ad.4xlarge", + "c5ad.8xlarge", + "c5ad.large", + "c5ad.xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.large", + "c5d.metal", + "c5d.xlarge", + "c5n.18xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.large", + "c5n.metal", + "c5n.xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.2xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.large", + "c6a.metal", + "c6a.xlarge", + "c6g.12xlarge", + "c6g.16xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.large", + "c6g.medium", + "c6g.metal", + "c6g.xlarge", + "c6gd.12xlarge", + "c6gd.16xlarge", + "c6gd.2xlarge", + "c6gd.4xlarge", + "c6gd.8xlarge", + "c6gd.large", + "c6gd.medium", + "c6gd.metal", + "c6gd.xlarge", + "c6gn.12xlarge", + "c6gn.16xlarge", + "c6gn.2xlarge", + "c6gn.4xlarge", + "c6gn.8xlarge", + "c6gn.large", + "c6gn.medium", + "c6gn.xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "c6i.2xlarge", + "c6i.32xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.large", + "c6i.metal", + "c6i.xlarge", + "c6id.12xlarge", + "c6id.16xlarge", + "c6id.24xlarge", + "c6id.2xlarge", + "c6id.32xlarge", + "c6id.4xlarge", + "c6id.8xlarge", + "c6id.large", + "c6id.metal", + "c6id.xlarge", + "c6in.12xlarge", + "c6in.16xlarge", + "c6in.24xlarge", + "c6in.2xlarge", + "c6in.32xlarge", + "c6in.4xlarge", + "c6in.8xlarge", + "c6in.large", + "c6in.metal", + "c6in.xlarge", + "c7a.12xlarge", + "c7a.16xlarge", + "c7a.24xlarge", + "c7a.2xlarge", + "c7a.32xlarge", + "c7a.48xlarge", + "c7a.4xlarge", + "c7a.8xlarge", + "c7a.large", + "c7a.medium", + "c7a.metal-48xl", + "c7a.xlarge", + "c7g.12xlarge", + "c7g.16xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.large", + "c7g.medium", + "c7g.metal", + "c7g.xlarge", + "c7gd.12xlarge", + "c7gd.16xlarge", + "c7gd.2xlarge", + "c7gd.4xlarge", + "c7gd.8xlarge", + "c7gd.large", + "c7gd.medium", + "c7gd.metal", + "c7gd.xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.large", + "c7gn.medium", + "c7gn.metal", + "c7gn.xlarge", + "c7i-flex.2xlarge", + "c7i-flex.4xlarge", + "c7i-flex.8xlarge", + "c7i-flex.large", + "c7i-flex.xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.2xlarge", + "c7i.48xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.large", + "c7i.metal-24xl", + "c7i.metal-48xl", + "c7i.xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.2xlarge", + "c8g.48xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.large", + "c8g.medium", + "c8g.metal-24xl", + "c8g.metal-48xl", + "c8g.xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "cg1.4xlarge", + "cr1.8xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "d2.xlarge", + "d3.2xlarge", + "d3.4xlarge", + "d3.8xlarge", + "d3.xlarge", + "d3en.12xlarge", + "d3en.2xlarge", + "d3en.4xlarge", + "d3en.6xlarge", + "d3en.8xlarge", + "d3en.xlarge", + "dl1.24xlarge", + "dl2q.24xlarge", + "f1.16xlarge", + "f1.2xlarge", + "f1.4xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.16xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3s.xlarge", + "g4ad.16xlarge", + "g4ad.2xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.metal", + "g4dn.xlarge", + "g5.12xlarge", + "g5.16xlarge", + "g5.24xlarge", + "g5.2xlarge", + "g5.48xlarge", + "g5.4xlarge", + "g5.8xlarge", + "g5.xlarge", + "g5g.16xlarge", + "g5g.2xlarge", + "g5g.4xlarge", + "g5g.8xlarge", + "g5g.metal", + "g5g.xlarge", + "g6.12xlarge", + "g6.16xlarge", + "g6.24xlarge", + "g6.2xlarge", + "g6.48xlarge", + "g6.4xlarge", + "g6.8xlarge", + "g6.xlarge", + "g6e.12xlarge", + "g6e.16xlarge", + "g6e.24xlarge", + "g6e.2xlarge", + "g6e.48xlarge", + "g6e.4xlarge", + "g6e.8xlarge", + "g6e.xlarge", + "gr6.4xlarge", + "gr6.8xlarge", + "h1.16xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "hi1.4xlarge", + "hpc6a.48xlarge", + "hpc6id.32xlarge", + "hpc7a.12xlarge", + "hpc7a.24xlarge", + "hpc7a.48xlarge", + "hpc7a.96xlarge", + "hpc7g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hs1.8xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i2.xlarge", + "i3.16xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.large", + "i3.metal", + "i3.xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.large", + "i3en.metal", + "i3en.xlarge", + "i4g.16xlarge", + "i4g.2xlarge", + "i4g.4xlarge", + "i4g.8xlarge", + "i4g.large", + "i4g.xlarge", + "i4i.12xlarge", + "i4i.16xlarge", + "i4i.24xlarge", + "i4i.2xlarge", + "i4i.32xlarge", + "i4i.4xlarge", + "i4i.8xlarge", + "i4i.large", + "i4i.metal", + "i4i.xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.48xlarge", + "i7ie.6xlarge", + "i7ie.large", + "i7ie.xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.large", + "i8g.metal-24xl", + "i8g.xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "inf1.24xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.xlarge", + "inf2.24xlarge", + "inf2.48xlarge", + "inf2.8xlarge", + "inf2.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", + "m1.large", + "m1.medium", + "m1.small", + "m1.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "m2.xlarge", + "m3.2xlarge", + "m3.large", + "m3.medium", + "m3.xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.large", + "m4.xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.large", + "m5.metal", + "m5.xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.large", + "m5a.xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.large", + "m5ad.xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.large", + "m5d.metal", + "m5d.xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.large", + "m5dn.metal", + "m5dn.xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.large", + "m5n.metal", + "m5n.xlarge", + "m5zn.12xlarge", + "m5zn.2xlarge", + "m5zn.3xlarge", + "m5zn.6xlarge", + "m5zn.large", + "m5zn.metal", + "m5zn.xlarge", + "m6a.12xlarge", + "m6a.16xlarge", + "m6a.24xlarge", + "m6a.2xlarge", + "m6a.32xlarge", + "m6a.48xlarge", + "m6a.4xlarge", + "m6a.8xlarge", + "m6a.large", + "m6a.metal", + "m6a.xlarge", + "m6g.12xlarge", + "m6g.16xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.large", + "m6g.medium", + "m6g.metal", + "m6g.xlarge", + "m6gd.12xlarge", + "m6gd.16xlarge", + "m6gd.2xlarge", + "m6gd.4xlarge", + "m6gd.8xlarge", + "m6gd.large", + "m6gd.medium", + "m6gd.metal", + "m6gd.xlarge", + "m6i.12xlarge", + "m6i.16xlarge", + "m6i.24xlarge", + "m6i.2xlarge", + "m6i.32xlarge", + "m6i.4xlarge", + "m6i.8xlarge", + "m6i.large", + "m6i.metal", + "m6i.xlarge", + "m6id.12xlarge", + "m6id.16xlarge", + "m6id.24xlarge", + "m6id.2xlarge", + "m6id.32xlarge", + "m6id.4xlarge", + "m6id.8xlarge", + "m6id.large", + "m6id.metal", + "m6id.xlarge", + "m6idn.12xlarge", + "m6idn.16xlarge", + "m6idn.24xlarge", + "m6idn.2xlarge", + "m6idn.32xlarge", + "m6idn.4xlarge", + "m6idn.8xlarge", + "m6idn.large", + "m6idn.metal", + "m6idn.xlarge", + "m6in.12xlarge", + "m6in.16xlarge", + "m6in.24xlarge", + "m6in.2xlarge", + "m6in.32xlarge", + "m6in.4xlarge", + "m6in.8xlarge", + "m6in.large", + "m6in.metal", + "m6in.xlarge", + "m7a.12xlarge", + "m7a.16xlarge", + "m7a.24xlarge", + "m7a.2xlarge", + "m7a.32xlarge", + "m7a.48xlarge", + "m7a.4xlarge", + "m7a.8xlarge", + "m7a.large", + "m7a.medium", + "m7a.metal-48xl", + "m7a.xlarge", + "m7g.12xlarge", + "m7g.16xlarge", + "m7g.2xlarge", + "m7g.4xlarge", + "m7g.8xlarge", + "m7g.large", + "m7g.medium", + "m7g.metal", + "m7g.xlarge", + "m7gd.12xlarge", + "m7gd.16xlarge", + "m7gd.2xlarge", + "m7gd.4xlarge", + "m7gd.8xlarge", + "m7gd.large", + "m7gd.medium", + "m7gd.metal", + "m7gd.xlarge", + "m7i-flex.2xlarge", + "m7i-flex.4xlarge", + "m7i-flex.8xlarge", + "m7i-flex.large", + "m7i-flex.xlarge", + "m7i.12xlarge", + "m7i.16xlarge", + "m7i.24xlarge", + "m7i.2xlarge", + "m7i.48xlarge", + "m7i.4xlarge", + "m7i.8xlarge", + "m7i.large", + "m7i.metal-24xl", + "m7i.metal-48xl", + "m7i.xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.2xlarge", + "m8g.48xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.large", + "m8g.medium", + "m8g.metal-24xl", + "m8g.metal-48xl", + "m8g.xlarge", + "mac1.metal", + "mac2-m1ultra.metal", + "mac2-m2.metal", + "mac2-m2pro.metal", + "mac2.metal", + "p2.16xlarge", + "p2.8xlarge", + "p2.xlarge", + "p3.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3dn.24xlarge", + "p4d.24xlarge", + "p4de.24xlarge", + "p5.48xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r3.large", + "r3.xlarge", + "r4.16xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.large", + "r4.xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.large", + "r5.metal", + "r5.xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.large", + "r5a.xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.large", + "r5ad.xlarge", + "r5b.12xlarge", + "r5b.16xlarge", + "r5b.24xlarge", + "r5b.2xlarge", + "r5b.4xlarge", + "r5b.8xlarge", + "r5b.large", + "r5b.metal", + "r5b.xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.large", + "r5d.metal", + "r5d.xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.large", + "r5dn.metal", + "r5dn.xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.large", + "r5n.metal", + "r5n.xlarge", + "r6a.12xlarge", + "r6a.16xlarge", + "r6a.24xlarge", + "r6a.2xlarge", + "r6a.32xlarge", + "r6a.48xlarge", + "r6a.4xlarge", + "r6a.8xlarge", + "r6a.large", + "r6a.metal", + "r6a.xlarge", + "r6g.12xlarge", + "r6g.16xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.large", + "r6g.medium", + "r6g.metal", + "r6g.xlarge", + "r6gd.12xlarge", + "r6gd.16xlarge", + "r6gd.2xlarge", + "r6gd.4xlarge", + "r6gd.8xlarge", + "r6gd.large", + "r6gd.medium", + "r6gd.metal", + "r6gd.xlarge", + "r6i.12xlarge", + "r6i.16xlarge", + "r6i.24xlarge", + "r6i.2xlarge", + "r6i.32xlarge", + "r6i.4xlarge", + "r6i.8xlarge", + "r6i.large", + "r6i.metal", + "r6i.xlarge", + "r6id.12xlarge", + "r6id.16xlarge", + "r6id.24xlarge", + "r6id.2xlarge", + "r6id.32xlarge", + "r6id.4xlarge", + "r6id.8xlarge", + "r6id.large", + "r6id.metal", + "r6id.xlarge", + "r6idn.12xlarge", + "r6idn.16xlarge", + "r6idn.24xlarge", + "r6idn.2xlarge", + "r6idn.32xlarge", + "r6idn.4xlarge", + "r6idn.8xlarge", + "r6idn.large", + "r6idn.metal", + "r6idn.xlarge", + "r6in.12xlarge", + "r6in.16xlarge", + "r6in.24xlarge", + "r6in.2xlarge", + "r6in.32xlarge", + "r6in.4xlarge", + "r6in.8xlarge", + "r6in.large", + "r6in.metal", + "r6in.xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.2xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.large", + "r7a.medium", + "r7a.metal-48xl", + "r7a.xlarge", + "r7g.12xlarge", + "r7g.16xlarge", + "r7g.2xlarge", + "r7g.4xlarge", + "r7g.8xlarge", + "r7g.large", + "r7g.medium", + "r7g.metal", + "r7g.xlarge", + "r7gd.12xlarge", + "r7gd.16xlarge", + "r7gd.2xlarge", + "r7gd.4xlarge", + "r7gd.8xlarge", + "r7gd.large", + "r7gd.medium", + "r7gd.metal", + "r7gd.xlarge", + "r7i.12xlarge", + "r7i.16xlarge", + "r7i.24xlarge", + "r7i.2xlarge", + "r7i.48xlarge", + "r7i.4xlarge", + "r7i.8xlarge", + "r7i.large", + "r7i.metal-24xl", + "r7i.metal-48xl", + "r7i.xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.2xlarge", + "r7iz.32xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.large", + "r7iz.metal-16xl", + "r7iz.metal-32xl", + "r7iz.xlarge", + "r8g.12xlarge", + "r8g.16xlarge", + "r8g.24xlarge", + "r8g.2xlarge", + "r8g.48xlarge", + "r8g.4xlarge", + "r8g.8xlarge", + "r8g.large", + "r8g.medium", + "r8g.metal-24xl", + "r8g.metal-48xl", + "r8g.xlarge", + "t1.micro", + "t2.2xlarge", + "t2.large", + "t2.medium", + "t2.micro", + "t2.nano", + "t2.small", + "t2.xlarge", + "t3.2xlarge", + "t3.large", + "t3.medium", + "t3.micro", + "t3.nano", + "t3.small", + "t3.xlarge", + "t3a.2xlarge", + "t3a.large", + "t3a.medium", + "t3a.micro", + "t3a.nano", + "t3a.small", + "t3a.xlarge", + "t4g.2xlarge", + "t4g.large", + "t4g.medium", + "t4g.micro", + "t4g.nano", + "t4g.small", + "t4g.xlarge", + "trn1.2xlarge", + "trn1.32xlarge", + "trn1n.32xlarge", + "u-12tb1.112xlarge", + "u-12tb1.metal", + "u-18tb1.112xlarge", + "u-18tb1.metal", + "u-24tb1.112xlarge", + "u-24tb1.metal", + "u-3tb1.56xlarge", + "u-6tb1.112xlarge", + "u-6tb1.56xlarge", + "u-6tb1.metal", + "u-9tb1.112xlarge", + "u-9tb1.metal", + "u7i-12tb.224xlarge", + "u7ib-12tb.224xlarge", + "u7in-16tb.224xlarge", + "u7in-24tb.224xlarge", + "u7in-32tb.224xlarge", + "vt1.24xlarge", + "vt1.3xlarge", + "vt1.6xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.16xlarge", + "x1e.2xlarge", + "x1e.32xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.xlarge", + "x2gd.12xlarge", + "x2gd.16xlarge", + "x2gd.2xlarge", + "x2gd.4xlarge", + "x2gd.8xlarge", + "x2gd.large", + "x2gd.medium", + "x2gd.metal", + "x2gd.xlarge", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2idn.metal", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.2xlarge", + "x2iedn.32xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.metal", + "x2iedn.xlarge", + "x2iezn.12xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.metal", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.2xlarge", + "x8g.48xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.large", + "x8g.medium", + "x8g.metal-24xl", + "x8g.metal-48xl", + "x8g.xlarge", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "prioritized" + ], + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "integer" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "lowestPrice", + "diversified", + "capacityOptimized", + "capacity-optimized", + "capacityOptimizedPrioritized", + "capacity-optimized-prioritized", + "priceCapacityOptimized", + "price-capacity-optimized" + ], + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "SpotTargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TotalTargetCapacity": { + "type": "integer" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FleetId" + ], + "properties": { + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "termination", + "no-termination" + ], + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request", + "instant" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FleetId" + ], + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], + "typeName": "AWS::EC2::EC2Fleet" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-lambda-eventinvokeconfig.json new file mode 100644 index 0000000000..54ec787a7c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-lambda-eventinvokeconfig.json @@ -0,0 +1,90 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FunctionName", + "/properties/Qualifier" + ], + "definitions": { + "DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/OnSuccess" + } + }, + "type": "object" + }, + "OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "maxLength": 350, + "minLength": 0, + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "maxLength": 350, + "minLength": 0, + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FunctionName", + "/properties/Qualifier" + ], + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/DestinationConfig" + }, + "FunctionName": { + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "maximum": 21600, + "minimum": 60, + "type": "integer" + }, + "MaximumRetryAttempts": { + "maximum": 2, + "minimum": 0, + "type": "integer" + }, + "Qualifier": { + "pattern": "^(|[a-zA-Z0-9$_-]{1,129})$", + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Lambda::EventInvokeConfig" +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py index 999903885b..027672dcd1 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -315,6 +315,7 @@ "AWS::EMR::SecurityConfiguration", "AWS::EMR::Step", "AWS::EMR::Studio", + "AWS::EMR::StudioSessionMapping", "AWS::EMRContainers::VirtualCluster", "AWS::EMRServerless::Application", "AWS::ElastiCache::CacheCluster", @@ -763,6 +764,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -818,6 +820,7 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -839,6 +842,7 @@ "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -1012,6 +1016,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1047,6 +1052,7 @@ "aws-emr-securityconfiguration.json", "aws-emr-step.json", "aws-emr-studio.json", + "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1227,7 +1233,6 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1386,6 +1391,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-opensearchservice-domain.json new file mode 100644 index 0000000000..2f0285dbe8 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-opensearchservice-domain.json @@ -0,0 +1,573 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EncryptionAtRestOptions/Enabled", + "/properties/EncryptionAtRestOptions/KmsKeyId", + "/properties/AdvancedSecurityOptions/Enabled" + ], + "createOnlyProperties": [ + "/properties/DomainName" + ], + "definitions": { + "AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "AnonymousAuthDisableDate": { + "type": "string" + }, + "AnonymousAuthEnabled": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "JWTOptions": { + "$ref": "#/definitions/JWTOptions" + }, + "MasterUserOptions": { + "$ref": "#/definitions/MasterUserOptions" + }, + "SAMLOptions": { + "$ref": "#/definitions/SAMLOptions" + } + }, + "type": "object" + }, + "ClusterConfig": { + "additionalProperties": false, + "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/ColdStorageOptions" + }, + "DedicatedMasterCount": { + "type": "integer" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "MultiAZWithStandbyEnabled": { + "type": "boolean" + }, + "WarmCount": { + "type": "integer" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, + "Idp": { + "additionalProperties": false, + "properties": { + "EntityId": { + "type": "string" + }, + "MetadataContent": { + "maxLength": 1048576, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "MetadataContent", + "EntityId" + ], + "type": "object" + }, + "JWTOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "PublicKey": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "OffPeakWindow": { + "additionalProperties": false, + "properties": { + "WindowStartTime": { + "$ref": "#/definitions/WindowStartTime" + } + }, + "type": "object" + }, + "OffPeakWindowOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OffPeakWindow": { + "$ref": "#/definitions/OffPeakWindow" + } + }, + "type": "object" + }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, + "SAMLOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Idp": { + "$ref": "#/definitions/Idp" + }, + "MasterBackendRole": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "RolesKey": { + "type": "string" + }, + "SessionTimeoutMinutes": { + "type": "integer" + }, + "SubjectKey": { + "type": "string" + } + }, + "type": "object" + }, + "ServiceSoftwareOptions": { + "additionalProperties": false, + "properties": { + "AutomatedUpdateDate": { + "type": "string" + }, + "Cancellable": { + "type": "boolean" + }, + "CurrentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NewVersion": { + "type": "string" + }, + "OptionalDeployment": { + "type": "boolean" + }, + "UpdateAvailable": { + "type": "boolean" + }, + "UpdateStatus": { + "type": "string" + } + }, + "type": "object" + }, + "SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "integer" + } + }, + "type": "object" + }, + "SoftwareUpdateOptions": { + "additionalProperties": false, + "properties": { + "AutoSoftwareUpdateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 0, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "WindowStartTime": { + "additionalProperties": false, + "properties": { + "Hours": { + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "Minutes": { + "maximum": 59, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "type": "object" + }, + "ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainName" + ], + "properties": { + "AccessPolicies": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AdvancedSecurityOptionsInput" + }, + "Arn": { + "type": "string" + }, + "ClusterConfig": { + "$ref": "#/definitions/ClusterConfig" + }, + "CognitoOptions": { + "$ref": "#/definitions/CognitoOptions" + }, + "DomainArn": { + "type": "string" + }, + "DomainEndpoint": { + "type": "string" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/DomainEndpointOptions" + }, + "DomainEndpointV2": { + "type": "string" + }, + "DomainEndpoints": { + "additionalProperties": false, + "patternProperties": { + "^.*$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/EBSOptions" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/EncryptionAtRestOptions" + }, + "EngineVersion": { + "type": "string" + }, + "IPAddressType": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "[a-zA-Z0-9]+": { + "$ref": "#/definitions/LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/NodeToNodeEncryptionOptions" + }, + "OffPeakWindowOptions": { + "$ref": "#/definitions/OffPeakWindowOptions" + }, + "ServiceSoftwareOptions": { + "$ref": "#/definitions/ServiceSoftwareOptions" + }, + "SkipShardMigrationWait": { + "type": "boolean" + }, + "SnapshotOptions": { + "$ref": "#/definitions/SnapshotOptions" + }, + "SoftwareUpdateOptions": { + "$ref": "#/definitions/SoftwareUpdateOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "VPCOptions": { + "$ref": "#/definitions/VPCOptions" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/DomainArn", + "/properties/DomainEndpoint", + "/properties/DomainEndpointV2", + "/properties/DomainEndpoints", + "/properties/ServiceSoftwareOptions", + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::OpenSearchService::Domain", + "writeOnlyProperties": [ + "/properties/AdvancedSecurityOptions/MasterUserOptions", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", + "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole", + "/properties/AdvancedSecurityOptions/JWTOptions/PublicKey" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py index bb3856cea6..c97f24a8c3 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -114,6 +114,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -858,6 +859,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -937,6 +939,7 @@ "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -947,11 +950,9 @@ "aws-chatbot-slackchannelconfiguration.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", - "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", - "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-moduledefaultversion.json", "aws-cloudformation-moduleversion.json", @@ -1062,7 +1063,6 @@ "aws-ec2-clientvpntargetnetworkassociation.json", "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", - "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", "aws-ec2-eip.json", "aws-ec2-eipassociation.json", @@ -1093,6 +1093,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", @@ -1105,7 +1106,6 @@ "aws-ec2-securitygroupingress.json", "aws-ec2-securitygroupvpcassociation.json", "aws-ec2-snapshotblockpublicaccess.json", - "aws-ec2-spotfleet.json", "aws-ec2-subnet.json", "aws-ec2-subnetcidrblock.json", "aws-ec2-subnetnetworkaclassociation.json", @@ -1152,6 +1152,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1190,8 +1191,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1402,9 +1401,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1576,6 +1573,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-guardhook.json new file mode 100644 index 0000000000..b56ab15d13 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-guardhook.json @@ -0,0 +1,286 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Uri": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "required": [ + "Uri" + ], + "type": "object" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "default": "WARN", + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "DISABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LogBucket": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [] + }, + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::GuardHook" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-lambdahook.json new file mode 100644 index 0000000000..1eb7a9f78a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-lambdahook.json @@ -0,0 +1,260 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Alias" + ], + "definitions": { + "Action": { + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "type": "string" + }, + "HookTarget": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + }, + "TargetName": { + "$ref": "#/definitions/TargetName" + } + }, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "type": "object" + }, + "InvocationPoint": { + "enum": [ + "PRE_PROVISION" + ], + "type": "string" + }, + "Role": { + "maxLength": 256, + "pattern": "arn:.+:iam::[0-9]{12}:role/.+", + "type": "string" + }, + "StackName": { + "maxLength": 128, + "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "type": "string" + }, + "TargetName": { + "maxLength": 256, + "minLength": 1, + "pattern": "^(?!.*\\*\\?).*$", + "type": "string" + }, + "TargetOperation": { + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/HookArn" + ], + "properties": { + "Alias": { + "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "type": "string" + }, + "ExecutionRole": { + "$ref": "#/definitions/Role" + }, + "FailureMode": { + "enum": [ + "FAIL", + "WARN" + ], + "type": "string" + }, + "HookArn": { + "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", + "type": "string" + }, + "HookStatus": { + "default": "ENABLED", + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "LambdaFunction": { + "maxLength": 170, + "minLength": 1, + "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "type": "string" + }, + "StackFilters": { + "additionalProperties": false, + "properties": { + "FilteringCriteria": { + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "type": "string" + }, + "StackNames": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "StackRoles": { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Exclude": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Include": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "required": [ + "FilteringCriteria" + ], + "type": "object" + }, + "TargetFilters": { + "oneOf": [ + { + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Actions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "InvocationPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "TargetNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Targets": { + "items": { + "$ref": "#/definitions/HookTarget" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Targets" + ], + "type": "object" + } + ], + "type": "object" + }, + "TargetOperations": { + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudFormation::LambdaHook" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-ec2fleet.json new file mode 100644 index 0000000000..84c05df06a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-ec2fleet.json @@ -0,0 +1,1608 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "enum": [ + "use-capacity-reservations-first" + ], + "type": "string" + } + }, + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "enum": [ + "a1.2xlarge", + "a1.4xlarge", + "a1.large", + "a1.medium", + "a1.metal", + "a1.xlarge", + "c1.medium", + "c1.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c3.large", + "c3.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c4.large", + "c4.xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.large", + "c5.metal", + "c5.xlarge", + "c5a.12xlarge", + "c5a.16xlarge", + "c5a.24xlarge", + "c5a.2xlarge", + "c5a.4xlarge", + "c5a.8xlarge", + "c5a.large", + "c5a.xlarge", + "c5ad.12xlarge", + "c5ad.16xlarge", + "c5ad.24xlarge", + "c5ad.2xlarge", + "c5ad.4xlarge", + "c5ad.8xlarge", + "c5ad.large", + "c5ad.xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.large", + "c5d.metal", + "c5d.xlarge", + "c5n.18xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.large", + "c5n.metal", + "c5n.xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.2xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.large", + "c6a.metal", + "c6a.xlarge", + "c6g.12xlarge", + "c6g.16xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.large", + "c6g.medium", + "c6g.metal", + "c6g.xlarge", + "c6gd.12xlarge", + "c6gd.16xlarge", + "c6gd.2xlarge", + "c6gd.4xlarge", + "c6gd.8xlarge", + "c6gd.large", + "c6gd.medium", + "c6gd.metal", + "c6gd.xlarge", + "c6gn.12xlarge", + "c6gn.16xlarge", + "c6gn.2xlarge", + "c6gn.4xlarge", + "c6gn.8xlarge", + "c6gn.large", + "c6gn.medium", + "c6gn.xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "c6i.2xlarge", + "c6i.32xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.large", + "c6i.metal", + "c6i.xlarge", + "c6id.12xlarge", + "c6id.16xlarge", + "c6id.24xlarge", + "c6id.2xlarge", + "c6id.32xlarge", + "c6id.4xlarge", + "c6id.8xlarge", + "c6id.large", + "c6id.metal", + "c6id.xlarge", + "c6in.12xlarge", + "c6in.16xlarge", + "c6in.24xlarge", + "c6in.2xlarge", + "c6in.32xlarge", + "c6in.4xlarge", + "c6in.8xlarge", + "c6in.large", + "c6in.metal", + "c6in.xlarge", + "c7a.12xlarge", + "c7a.16xlarge", + "c7a.24xlarge", + "c7a.2xlarge", + "c7a.32xlarge", + "c7a.48xlarge", + "c7a.4xlarge", + "c7a.8xlarge", + "c7a.large", + "c7a.medium", + "c7a.metal-48xl", + "c7a.xlarge", + "c7g.12xlarge", + "c7g.16xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.large", + "c7g.medium", + "c7g.metal", + "c7g.xlarge", + "c7gd.12xlarge", + "c7gd.16xlarge", + "c7gd.2xlarge", + "c7gd.4xlarge", + "c7gd.8xlarge", + "c7gd.large", + "c7gd.medium", + "c7gd.metal", + "c7gd.xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.large", + "c7gn.medium", + "c7gn.metal", + "c7gn.xlarge", + "c7i-flex.2xlarge", + "c7i-flex.4xlarge", + "c7i-flex.8xlarge", + "c7i-flex.large", + "c7i-flex.xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.2xlarge", + "c7i.48xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.large", + "c7i.metal-24xl", + "c7i.metal-48xl", + "c7i.xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.2xlarge", + "c8g.48xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.large", + "c8g.medium", + "c8g.metal-24xl", + "c8g.metal-48xl", + "c8g.xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "cg1.4xlarge", + "cr1.8xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "d2.xlarge", + "d3.2xlarge", + "d3.4xlarge", + "d3.8xlarge", + "d3.xlarge", + "d3en.12xlarge", + "d3en.2xlarge", + "d3en.4xlarge", + "d3en.6xlarge", + "d3en.8xlarge", + "d3en.xlarge", + "dl1.24xlarge", + "dl2q.24xlarge", + "f1.16xlarge", + "f1.2xlarge", + "f1.4xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.16xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3s.xlarge", + "g4ad.16xlarge", + "g4ad.2xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.metal", + "g4dn.xlarge", + "g5.12xlarge", + "g5.16xlarge", + "g5.24xlarge", + "g5.2xlarge", + "g5.48xlarge", + "g5.4xlarge", + "g5.8xlarge", + "g5.xlarge", + "g5g.16xlarge", + "g5g.2xlarge", + "g5g.4xlarge", + "g5g.8xlarge", + "g5g.metal", + "g5g.xlarge", + "g6.12xlarge", + "g6.16xlarge", + "g6.24xlarge", + "g6.2xlarge", + "g6.48xlarge", + "g6.4xlarge", + "g6.8xlarge", + "g6.xlarge", + "g6e.12xlarge", + "g6e.16xlarge", + "g6e.24xlarge", + "g6e.2xlarge", + "g6e.48xlarge", + "g6e.4xlarge", + "g6e.8xlarge", + "g6e.xlarge", + "gr6.4xlarge", + "gr6.8xlarge", + "h1.16xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "hi1.4xlarge", + "hpc6a.48xlarge", + "hpc6id.32xlarge", + "hpc7a.12xlarge", + "hpc7a.24xlarge", + "hpc7a.48xlarge", + "hpc7a.96xlarge", + "hpc7g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hs1.8xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i2.xlarge", + "i3.16xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.large", + "i3.metal", + "i3.xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.large", + "i3en.metal", + "i3en.xlarge", + "i4g.16xlarge", + "i4g.2xlarge", + "i4g.4xlarge", + "i4g.8xlarge", + "i4g.large", + "i4g.xlarge", + "i4i.12xlarge", + "i4i.16xlarge", + "i4i.24xlarge", + "i4i.2xlarge", + "i4i.32xlarge", + "i4i.4xlarge", + "i4i.8xlarge", + "i4i.large", + "i4i.metal", + "i4i.xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.48xlarge", + "i7ie.6xlarge", + "i7ie.large", + "i7ie.xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.large", + "i8g.metal-24xl", + "i8g.xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "inf1.24xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.xlarge", + "inf2.24xlarge", + "inf2.48xlarge", + "inf2.8xlarge", + "inf2.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", + "m1.large", + "m1.medium", + "m1.small", + "m1.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "m2.xlarge", + "m3.2xlarge", + "m3.large", + "m3.medium", + "m3.xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.large", + "m4.xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.large", + "m5.metal", + "m5.xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.large", + "m5a.xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.large", + "m5ad.xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.large", + "m5d.metal", + "m5d.xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.large", + "m5dn.metal", + "m5dn.xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.large", + "m5n.metal", + "m5n.xlarge", + "m5zn.12xlarge", + "m5zn.2xlarge", + "m5zn.3xlarge", + "m5zn.6xlarge", + "m5zn.large", + "m5zn.metal", + "m5zn.xlarge", + "m6a.12xlarge", + "m6a.16xlarge", + "m6a.24xlarge", + "m6a.2xlarge", + "m6a.32xlarge", + "m6a.48xlarge", + "m6a.4xlarge", + "m6a.8xlarge", + "m6a.large", + "m6a.metal", + "m6a.xlarge", + "m6g.12xlarge", + "m6g.16xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.large", + "m6g.medium", + "m6g.metal", + "m6g.xlarge", + "m6gd.12xlarge", + "m6gd.16xlarge", + "m6gd.2xlarge", + "m6gd.4xlarge", + "m6gd.8xlarge", + "m6gd.large", + "m6gd.medium", + "m6gd.metal", + "m6gd.xlarge", + "m6i.12xlarge", + "m6i.16xlarge", + "m6i.24xlarge", + "m6i.2xlarge", + "m6i.32xlarge", + "m6i.4xlarge", + "m6i.8xlarge", + "m6i.large", + "m6i.metal", + "m6i.xlarge", + "m6id.12xlarge", + "m6id.16xlarge", + "m6id.24xlarge", + "m6id.2xlarge", + "m6id.32xlarge", + "m6id.4xlarge", + "m6id.8xlarge", + "m6id.large", + "m6id.metal", + "m6id.xlarge", + "m6idn.12xlarge", + "m6idn.16xlarge", + "m6idn.24xlarge", + "m6idn.2xlarge", + "m6idn.32xlarge", + "m6idn.4xlarge", + "m6idn.8xlarge", + "m6idn.large", + "m6idn.metal", + "m6idn.xlarge", + "m6in.12xlarge", + "m6in.16xlarge", + "m6in.24xlarge", + "m6in.2xlarge", + "m6in.32xlarge", + "m6in.4xlarge", + "m6in.8xlarge", + "m6in.large", + "m6in.metal", + "m6in.xlarge", + "m7a.12xlarge", + "m7a.16xlarge", + "m7a.24xlarge", + "m7a.2xlarge", + "m7a.32xlarge", + "m7a.48xlarge", + "m7a.4xlarge", + "m7a.8xlarge", + "m7a.large", + "m7a.medium", + "m7a.metal-48xl", + "m7a.xlarge", + "m7g.12xlarge", + "m7g.16xlarge", + "m7g.2xlarge", + "m7g.4xlarge", + "m7g.8xlarge", + "m7g.large", + "m7g.medium", + "m7g.metal", + "m7g.xlarge", + "m7gd.12xlarge", + "m7gd.16xlarge", + "m7gd.2xlarge", + "m7gd.4xlarge", + "m7gd.8xlarge", + "m7gd.large", + "m7gd.medium", + "m7gd.metal", + "m7gd.xlarge", + "m7i-flex.2xlarge", + "m7i-flex.4xlarge", + "m7i-flex.8xlarge", + "m7i-flex.large", + "m7i-flex.xlarge", + "m7i.12xlarge", + "m7i.16xlarge", + "m7i.24xlarge", + "m7i.2xlarge", + "m7i.48xlarge", + "m7i.4xlarge", + "m7i.8xlarge", + "m7i.large", + "m7i.metal-24xl", + "m7i.metal-48xl", + "m7i.xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.2xlarge", + "m8g.48xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.large", + "m8g.medium", + "m8g.metal-24xl", + "m8g.metal-48xl", + "m8g.xlarge", + "mac1.metal", + "mac2-m1ultra.metal", + "mac2-m2.metal", + "mac2-m2pro.metal", + "mac2.metal", + "p2.16xlarge", + "p2.8xlarge", + "p2.xlarge", + "p3.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3dn.24xlarge", + "p4d.24xlarge", + "p4de.24xlarge", + "p5.48xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r3.large", + "r3.xlarge", + "r4.16xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.large", + "r4.xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.large", + "r5.metal", + "r5.xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.large", + "r5a.xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.large", + "r5ad.xlarge", + "r5b.12xlarge", + "r5b.16xlarge", + "r5b.24xlarge", + "r5b.2xlarge", + "r5b.4xlarge", + "r5b.8xlarge", + "r5b.large", + "r5b.metal", + "r5b.xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.large", + "r5d.metal", + "r5d.xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.large", + "r5dn.metal", + "r5dn.xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.large", + "r5n.metal", + "r5n.xlarge", + "r6a.12xlarge", + "r6a.16xlarge", + "r6a.24xlarge", + "r6a.2xlarge", + "r6a.32xlarge", + "r6a.48xlarge", + "r6a.4xlarge", + "r6a.8xlarge", + "r6a.large", + "r6a.metal", + "r6a.xlarge", + "r6g.12xlarge", + "r6g.16xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.large", + "r6g.medium", + "r6g.metal", + "r6g.xlarge", + "r6gd.12xlarge", + "r6gd.16xlarge", + "r6gd.2xlarge", + "r6gd.4xlarge", + "r6gd.8xlarge", + "r6gd.large", + "r6gd.medium", + "r6gd.metal", + "r6gd.xlarge", + "r6i.12xlarge", + "r6i.16xlarge", + "r6i.24xlarge", + "r6i.2xlarge", + "r6i.32xlarge", + "r6i.4xlarge", + "r6i.8xlarge", + "r6i.large", + "r6i.metal", + "r6i.xlarge", + "r6id.12xlarge", + "r6id.16xlarge", + "r6id.24xlarge", + "r6id.2xlarge", + "r6id.32xlarge", + "r6id.4xlarge", + "r6id.8xlarge", + "r6id.large", + "r6id.metal", + "r6id.xlarge", + "r6idn.12xlarge", + "r6idn.16xlarge", + "r6idn.24xlarge", + "r6idn.2xlarge", + "r6idn.32xlarge", + "r6idn.4xlarge", + "r6idn.8xlarge", + "r6idn.large", + "r6idn.metal", + "r6idn.xlarge", + "r6in.12xlarge", + "r6in.16xlarge", + "r6in.24xlarge", + "r6in.2xlarge", + "r6in.32xlarge", + "r6in.4xlarge", + "r6in.8xlarge", + "r6in.large", + "r6in.metal", + "r6in.xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.2xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.large", + "r7a.medium", + "r7a.metal-48xl", + "r7a.xlarge", + "r7g.12xlarge", + "r7g.16xlarge", + "r7g.2xlarge", + "r7g.4xlarge", + "r7g.8xlarge", + "r7g.large", + "r7g.medium", + "r7g.metal", + "r7g.xlarge", + "r7gd.12xlarge", + "r7gd.16xlarge", + "r7gd.2xlarge", + "r7gd.4xlarge", + "r7gd.8xlarge", + "r7gd.large", + "r7gd.medium", + "r7gd.metal", + "r7gd.xlarge", + "r7i.12xlarge", + "r7i.16xlarge", + "r7i.24xlarge", + "r7i.2xlarge", + "r7i.48xlarge", + "r7i.4xlarge", + "r7i.8xlarge", + "r7i.large", + "r7i.metal-24xl", + "r7i.metal-48xl", + "r7i.xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.2xlarge", + "r7iz.32xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.large", + "r7iz.metal-16xl", + "r7iz.metal-32xl", + "r7iz.xlarge", + "r8g.12xlarge", + "r8g.16xlarge", + "r8g.24xlarge", + "r8g.2xlarge", + "r8g.48xlarge", + "r8g.4xlarge", + "r8g.8xlarge", + "r8g.large", + "r8g.medium", + "r8g.metal-24xl", + "r8g.metal-48xl", + "r8g.xlarge", + "t1.micro", + "t2.2xlarge", + "t2.large", + "t2.medium", + "t2.micro", + "t2.nano", + "t2.small", + "t2.xlarge", + "t3.2xlarge", + "t3.large", + "t3.medium", + "t3.micro", + "t3.nano", + "t3.small", + "t3.xlarge", + "t3a.2xlarge", + "t3a.large", + "t3a.medium", + "t3a.micro", + "t3a.nano", + "t3a.small", + "t3a.xlarge", + "t4g.2xlarge", + "t4g.large", + "t4g.medium", + "t4g.micro", + "t4g.nano", + "t4g.small", + "t4g.xlarge", + "trn1.2xlarge", + "trn1.32xlarge", + "trn1n.32xlarge", + "u-12tb1.112xlarge", + "u-12tb1.metal", + "u-18tb1.112xlarge", + "u-18tb1.metal", + "u-24tb1.112xlarge", + "u-24tb1.metal", + "u-3tb1.56xlarge", + "u-6tb1.112xlarge", + "u-6tb1.56xlarge", + "u-6tb1.metal", + "u-9tb1.112xlarge", + "u-9tb1.metal", + "u7i-12tb.224xlarge", + "u7ib-12tb.224xlarge", + "u7in-16tb.224xlarge", + "u7in-24tb.224xlarge", + "u7in-32tb.224xlarge", + "vt1.24xlarge", + "vt1.3xlarge", + "vt1.6xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.16xlarge", + "x1e.2xlarge", + "x1e.32xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.xlarge", + "x2gd.12xlarge", + "x2gd.16xlarge", + "x2gd.2xlarge", + "x2gd.4xlarge", + "x2gd.8xlarge", + "x2gd.large", + "x2gd.medium", + "x2gd.metal", + "x2gd.xlarge", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2idn.metal", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.2xlarge", + "x2iedn.32xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.metal", + "x2iedn.xlarge", + "x2iezn.12xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.metal", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.2xlarge", + "x8g.48xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.large", + "x8g.medium", + "x8g.metal-24xl", + "x8g.metal-48xl", + "x8g.xlarge", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "prioritized" + ], + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "integer" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "lowestPrice", + "diversified", + "capacityOptimized", + "capacity-optimized", + "capacityOptimizedPrioritized", + "capacity-optimized-prioritized", + "priceCapacityOptimized", + "price-capacity-optimized" + ], + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "SpotTargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TotalTargetCapacity": { + "type": "integer" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FleetId" + ], + "properties": { + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "termination", + "no-termination" + ], + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request", + "instant" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FleetId" + ], + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], + "typeName": "AWS::EC2::EC2Fleet" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-spotfleet.json new file mode 100644 index 0000000000..b92bf8572f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-spotfleet.json @@ -0,0 +1,993 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/AllocationStrategy", + "/properties/SpotFleetRequestConfigData/IamFleetRole", + "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", + "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", + "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", + "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", + "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", + "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", + "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", + "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/SpotPrice", + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", + "/properties/SpotFleetRequestConfigData/Type", + "/properties/SpotFleetRequestConfigData/ValidFrom", + "/properties/SpotFleetRequestConfigData/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "requiredXor": [ + "VirtualName", + "Ebs", + "NoDevice" + ], + "type": "object" + }, + "ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/ClassicLoadBalancer" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "GroupIdentifier": { + "additionalProperties": false, + "format": "AWS::EC2::SecurityGroup.GroupId", + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "integer" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": true + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "SecondaryPrivateIpAddressCount": { + "type": "integer" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/TargetGroupsConfig" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "default": false, + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/IamInstanceProfileSpecification" + }, + "ImageId": { + "format": "AWS::EC2::Image.Id", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "Placement": { + "$ref": "#/definitions/SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "$ref": "#/definitions/GroupIdentifier" + }, + "type": "array", + "uniqueItems": true + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "capacityOptimized", + "capacityOptimizedPrioritized", + "diversified", + "lowestPrice", + "priceCapacityOptimized" + ], + "type": "string" + }, + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "Default", + "NoTermination", + "default", + "noTermination" + ], + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetLaunchSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/LaunchTemplateConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "TargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "requiredXor": [ + "LaunchSpecifications", + "LaunchTemplateConfigs" + ], + "type": "object" + }, + "SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/SpotCapacityRebalance" + } + }, + "type": "object" + }, + "SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/TargetGroup" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/SpotFleetRequestConfigData" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "SpotFleetRequestConfigData" + ], + "typeName": "AWS::EC2::SpotFleet", + "writeOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py index 903437d76c..096ca967bb 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -1084,8 +1084,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1165,7 +1167,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1263,7 +1267,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1772,9 +1775,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py index b6c3ec7fc9..0689e46b05 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py @@ -168,6 +168,7 @@ "AWS::CUR::ReportDefinition", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -981,6 +982,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json index 6b60f2aa78..5d841be3e1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json @@ -53,6 +53,14 @@ "ConfigurationProfileId": { "type": "string" }, + "DeletionProtectionCheck": { + "enum": [ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ], + "type": "string" + }, "Description": { "maxLength": 1024, "minLength": 0, @@ -123,5 +131,8 @@ "tagUpdatable": true, "taggable": true }, - "typeName": "AWS::AppConfig::ConfigurationProfile" + "typeName": "AWS::AppConfig::ConfigurationProfile", + "writeOnlyProperties": [ + "/properties/DeletionProtectionCheck" + ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json index 674f994207..e5874842d7 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json @@ -62,6 +62,14 @@ "pattern": "[a-z0-9]{4,7}", "type": "string" }, + "DeletionProtectionCheck": { + "enum": [ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ], + "type": "string" + }, "Description": { "maxLength": 1024, "minLength": 0, @@ -109,5 +117,8 @@ "tagUpdatable": true, "taggable": true }, - "typeName": "AWS::AppConfig::Environment" + "typeName": "AWS::AppConfig::Environment", + "writeOnlyProperties": [ + "/properties/DeletionProtectionCheck" + ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json index f197b941f1..203828de9b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json @@ -1,7 +1,6 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/ReplicationSpecification", "/properties/KeyspaceName" ], "definitions": { @@ -87,6 +86,9 @@ "/properties/KeyspaceName" ], "properties": { + "ClientSideTimestampsEnabled": { + "type": "boolean" + }, "KeyspaceName": { "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-type.json similarity index 100% rename from src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json rename to src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-type.json diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json index b56ab15d13..e76b67f036 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json @@ -74,7 +74,8 @@ "enum": [ "RESOURCE", "STACK", - "CHANGE_SET" + "CHANGE_SET", + "CLOUD_CONTROL" ], "type": "string" } @@ -84,7 +85,7 @@ ], "properties": { "Alias": { - "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type": "string" }, "ExecutionRole": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json index 1eb7a9f78a..bec5b2634e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json @@ -58,7 +58,8 @@ "enum": [ "RESOURCE", "STACK", - "CHANGE_SET" + "CHANGE_SET", + "CLOUD_CONTROL" ], "type": "string" } @@ -68,7 +69,7 @@ ], "properties": { "Alias": { - "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type": "string" }, "ExecutionRole": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json index 58187f9b37..6ee15229e6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json @@ -5,6 +5,12 @@ "/properties/Tags" ], "definitions": { + "BucketOwner": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, "CsvOptions": { "additionalProperties": false, "properties": { @@ -319,6 +325,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "$ref": "#/definitions/BucketOwner" + }, "Key": { "type": "string" } @@ -377,6 +386,14 @@ "PathOptions": { "$ref": "#/definitions/PathOptions" }, + "Source": { + "enum": [ + "S3", + "DATA-CATALOG", + "DATABASE" + ], + "type": "string" + }, "Tags": { "insertionOrder": false, "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json index 42b829e951..9edc2ab9e6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json @@ -46,7 +46,10 @@ "UserDesignation": { "enum": [ "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR" + "PROJECT_CONTRIBUTOR", + "PROJECT_CATALOG_VIEWER", + "PROJECT_CATALOG_CONSUMER", + "PROJECT_CATALOG_STEWARD" ], "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json index f844e18371..801ae54398 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json @@ -128,7 +128,6 @@ "AuthorizedPrincipals", "DomainIdentifier", "EnvironmentIdentifier", - "ManageAccessRole", "Name", "SubscriptionTargetConfig", "Type" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json index 84c05df06a..1a23e2ee2f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json @@ -57,6 +57,24 @@ }, "type": "object" }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, "CapacityRebalance": { "additionalProperties": false, "properties": { @@ -98,6 +116,42 @@ }, "type": "object" }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, "FleetLaunchTemplateConfigRequest": { "additionalProperties": false, "properties": { @@ -1127,6 +1181,9 @@ "BaselineEbsBandwidthMbps": { "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/BaselinePerformanceFactorsRequest" + }, "BurstablePerformance": { "enum": [ "included", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json index b92bf8572f..0b349f5d4b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json @@ -352,6 +352,9 @@ "BaselineEbsBandwidthMbps": { "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/BaselinePerformanceFactorsRequest" + }, "BurstablePerformance": { "enum": [ "included", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json index 98883c5afa..069e16e3c5 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json @@ -3,8 +3,36 @@ "createOnlyProperties": [ "/properties/ServiceName", "/properties/VpcEndpointType", - "/properties/VpcId" + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, "primaryIdentifier": [ "/properties/Id" ], @@ -20,9 +48,21 @@ "type": "array", "uniqueItems": false }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, "Id": { "type": "string" }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, "NetworkInterfaceIds": { "insertionOrder": false, "items": { @@ -40,6 +80,9 @@ "PrivateDnsEnabled": { "type": "boolean" }, + "ResourceConfigurationArn": { + "type": "string" + }, "RouteTableIds": { "insertionOrder": false, "items": { @@ -85,6 +128,9 @@ "ServiceName": { "type": "string" }, + "ServiceNetworkArn": { + "type": "string" + }, "SubnetIds": { "insertionOrder": false, "items": { @@ -101,7 +147,9 @@ "enum": [ "Interface", "Gateway", - "GatewayLoadBalancer" + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" ], "type": "string" }, @@ -117,8 +165,7 @@ "/properties/Id" ], "required": [ - "VpcId", - "ServiceName" + "VpcId" ], "tagging": { "cloudFormationSystemTags": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json index c0bc599ee6..826fe99b21 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json @@ -14,7 +14,7 @@ ], "definitions": { "Arn": { - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "pattern": "^arn:aws(-(cn|us-gov|iso-f|iso-e))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", "type": "string" }, "SubnetId": { @@ -170,5 +170,11 @@ "WorkspaceSecurityGroupId", "DefaultS3Location" ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, "typeName": "AWS::EMR::Studio" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json index c9adfa363d..479a03694f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json @@ -7,7 +7,7 @@ ], "definitions": { "IamPolicyArn": { - "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "pattern": "^arn:aws(-(cn|us-gov|iso-f|iso-e))?:iam::([0-9]{12})?:policy\\/[^.]+$", "type": "string" } }, @@ -45,5 +45,11 @@ "SessionPolicyArn" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, "typeName": "AWS::EMR::StudioSessionMapping" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json index 54ec787a7c..0db5cb9651 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json @@ -23,7 +23,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -38,7 +38,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -57,7 +57,7 @@ "$ref": "#/definitions/DestinationConfig" }, "FunctionName": { - "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", "type": "string" }, "MaximumEventAgeInSeconds": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json index 2f0285dbe8..f046602b0f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json @@ -60,6 +60,12 @@ "MultiAZWithStandbyEnabled": { "type": "boolean" }, + "NodeOptions": { + "items": { + "$ref": "#/definitions/NodeOption" + }, + "type": "array" + }, "WarmCount": { "type": "integer" }, @@ -246,6 +252,36 @@ }, "type": "object" }, + "NodeConfig": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "integer" + }, + "Enabled": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "NodeOption": { + "additionalProperties": false, + "properties": { + "NodeConfig": { + "$ref": "#/definitions/NodeConfig" + }, + "NodeType": { + "enum": [ + "coordinator" + ], + "type": "string" + } + }, + "type": "object" + }, "NodeToNodeEncryptionOptions": { "additionalProperties": false, "properties": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json new file mode 100644 index 0000000000..b31f23ede6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json @@ -0,0 +1,248 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Networking", + "/properties/Scheduler", + "/properties/Size", + "/properties/SlurmConfiguration" + ], + "definitions": { + "AuthKey": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string" + }, + "SecretVersion": { + "type": "string" + } + }, + "required": [ + "SecretArn", + "SecretVersion" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PublicIpAddress": { + "type": "string" + }, + "Type": { + "enum": [ + "SLURMCTLD", + "SLURMDBD" + ], + "type": "string" + } + }, + "required": [ + "Port", + "PrivateIpAddress", + "Type" + ], + "type": "object" + }, + "ErrorInfo": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupId": { + "pattern": "sg-\\w{8,17}", + "type": "string" + }, + "SlurmCustomSetting": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "SubnetId": { + "pattern": "subnet-\\w{8,17}", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Endpoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Endpoint" + }, + "type": "array" + }, + "ErrorInfo": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "type": "array" + }, + "Id": { + "pattern": "^(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,40})$", + "type": "string" + }, + "Name": { + "pattern": "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$", + "type": "string" + }, + "Networking": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SecurityGroupId" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetId" + }, + "type": "array" + } + }, + "type": "object" + }, + "Scheduler": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "SLURM" + ], + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Type", + "Version" + ], + "type": "object" + }, + "Size": { + "enum": [ + "SMALL", + "MEDIUM", + "LARGE" + ], + "type": "string" + }, + "SlurmConfiguration": { + "additionalProperties": false, + "properties": { + "AuthKey": { + "$ref": "#/definitions/AuthKey" + }, + "ScaleDownIdleTimeInSeconds": { + "minimum": 1, + "type": "integer" + }, + "SlurmCustomSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SlurmCustomSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "Status": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "type": "string" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + } + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Endpoints", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "required": [ + "Networking", + "Scheduler", + "Size" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::PCS::Cluster" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json new file mode 100644 index 0000000000..c87f471efd --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json @@ -0,0 +1,208 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/ClusterId", + "/properties/InstanceConfigs" + ], + "definitions": { + "ErrorInfo": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceConfig": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + } + }, + "type": "object" + }, + "SlurmCustomSetting": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "SubnetId": { + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "AmiId": { + "pattern": "^ami-[a-z0-9]+$", + "type": "string" + }, + "Arn": { + "type": "string" + }, + "ClusterId": { + "type": "string" + }, + "CustomLaunchTemplate": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Id", + "Version" + ], + "type": "object" + }, + "ErrorInfo": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "type": "array" + }, + "IamInstanceProfileArn": { + "pattern": "^arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}$", + "type": "string" + }, + "Id": { + "type": "string" + }, + "InstanceConfigs": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InstanceConfig" + }, + "type": "array" + }, + "Name": { + "pattern": "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$", + "type": "string" + }, + "PurchaseOption": { + "enum": [ + "ONDEMAND", + "SPOT" + ], + "type": "string" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "minimum": 0, + "type": "integer" + }, + "MinInstanceCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "MaxInstanceCount", + "MinInstanceCount" + ], + "type": "object" + }, + "SlurmConfiguration": { + "additionalProperties": false, + "properties": { + "SlurmCustomSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SlurmCustomSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "SpotOptions": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "capacity-optimized", + "price-capacity-optimized" + ], + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetId" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + } + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "required": [ + "ClusterId", + "CustomLaunchTemplate", + "IamInstanceProfileArn", + "InstanceConfigs", + "ScalingConfiguration", + "SubnetIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::PCS::ComputeNodeGroup" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json new file mode 100644 index 0000000000..17932906a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json @@ -0,0 +1,102 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/ClusterId" + ], + "definitions": { + "ComputeNodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "ComputeNodeGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "ErrorInfo": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^(.*?)", + "type": "string" + }, + "ClusterId": { + "type": "string" + }, + "ComputeNodeGroupConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ComputeNodeGroupConfiguration" + }, + "type": "array" + }, + "ErrorInfo": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "pattern": "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "type": "string" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "required": [ + "ClusterId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::PCS::Queue" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json index 8e56700955..ba48a3b834 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json @@ -763,6 +763,20 @@ ], "type": "object" }, + "PerformanceConfiguration": { + "additionalProperties": false, + "properties": { + "UniqueKeys": { + "items": { + "$ref": "#/definitions/UniqueKey" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, "PhysicalTable": { "additionalProperties": false, "properties": { @@ -1172,6 +1186,25 @@ }, "type": "object" }, + "UniqueKey": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "ColumnNames" + ], + "type": "object" + }, "UntagColumnOperation": { "additionalProperties": false, "properties": { @@ -1307,6 +1340,9 @@ }, "type": "array" }, + "PerformanceConfiguration": { + "$ref": "#/definitions/PerformanceConfiguration" + }, "Permissions": { "items": { "$ref": "#/definitions/ResourcePermission" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json index 4e5428d4a2..8372362d6b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json @@ -104,6 +104,9 @@ }, "MinCapacity": { "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "integer" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json index 71fda608fe..f20e802a6a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json @@ -26,6 +26,7 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", + "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", @@ -479,6 +480,7 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", @@ -497,7 +499,6 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", - "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json index 5687e095ff..fe58464d5b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json @@ -112,7 +112,7 @@ "type": "string" }, "KmsKeyArn": { - "pattern": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+", + "pattern": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2,4}(-[a-z]{2,4})?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+", "type": "string" } }, 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 f015910a78..957d668a97 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -878,6 +878,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::PaymentCryptography::Alias", "AWS::PaymentCryptography::Key", "AWS::Personalize::Dataset", @@ -1063,6 +1066,7 @@ "AWS::SageMaker::MonitoringSchedule", "AWS::SageMaker::NotebookInstance", "AWS::SageMaker::NotebookInstanceLifecycleConfig", + "AWS::SageMaker::PartnerApp", "AWS::SageMaker::Pipeline", "AWS::SageMaker::Project", "AWS::SageMaker::Space", @@ -1326,6 +1330,7 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1342,7 +1347,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1456,7 +1463,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1476,7 +1482,6 @@ "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", - "aws-datazone-datasource.json", "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentactions.json", @@ -1484,6 +1489,8 @@ "aws-datazone-environmentprofile.json", "aws-datazone-groupprofile.json", "aws-datazone-project.json", + "aws-datazone-projectmembership.json", + "aws-datazone-subscriptiontarget.json", "aws-datazone-userprofile.json", "aws-dax-cluster.json", "aws-dax-parametergroup.json", @@ -1628,6 +1635,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1916,10 +1924,12 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-integration.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -2052,6 +2062,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2074,6 +2087,7 @@ "aws-quicksight-topic.json", "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", "aws-rds-dbcluster.json", @@ -2174,7 +2188,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2194,9 +2207,7 @@ "aws-sagemaker-notebookinstancelifecycleconfig.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", - "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -2307,6 +2318,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json new file mode 100644 index 0000000000..ec66adcc4a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/ProjectIdentifier", + "/properties/Type" + ], + "definitions": { + "AccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "DataAccessRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$", + "type": "string" + }, + "DataSourceConfigurationInput": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "GlueRunConfiguration": { + "$ref": "#/definitions/GlueRunConfigurationInput" + } + }, + "title": "GlueRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftRunConfiguration": { + "$ref": "#/definitions/RedshiftRunConfigurationInput" + } + }, + "title": "RedshiftRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SageMakerRunConfiguration": { + "$ref": "#/definitions/SageMakerRunConfigurationInput" + } + }, + "title": "SageMakerRunConfiguration", + "type": "object" + } + ] + }, + "DataSourceStatus": { + "enum": [ + "CREATING", + "FAILED_CREATION", + "READY", + "UPDATING", + "FAILED_UPDATE", + "RUNNING", + "DELETING", + "FAILED_DELETION" + ], + "type": "string" + }, + "EnableSetting": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/FilterExpressionType" + } + }, + "required": [ + "Expression", + "Type" + ], + "type": "object" + }, + "FilterExpressionType": { + "enum": [ + "INCLUDE", + "EXCLUDE" + ], + "type": "string" + }, + "FormInput": { + "additionalProperties": false, + "properties": { + "Content": { + "maxLength": 75000, + "type": "string" + }, + "FormName": { + "$ref": "#/definitions/FormName" + }, + "TypeIdentifier": { + "maxLength": 385, + "minLength": 1, + "pattern": "^(?!\\.)[\\w\\.]*\\w$", + "type": "string" + }, + "TypeRevision": { + "$ref": "#/definitions/TypeRevision" + } + }, + "required": [ + "FormName" + ], + "type": "object" + }, + "FormName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", + "type": "string" + }, + "GlueRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "AutoImportDataQualityResult": { + "type": "boolean" + }, + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RecommendationConfiguration": { + "additionalProperties": false, + "properties": { + "EnableBusinessNameGeneration": { + "type": "boolean" + } + }, + "type": "object" + }, + "RedshiftClusterStorage": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[0-9a-z].[a-z0-9\\-]*$", + "type": "string" + } + }, + "required": [ + "ClusterName" + ], + "type": "object" + }, + "RedshiftCredentialConfiguration": { + "additionalProperties": false, + "properties": { + "SecretManagerArn": { + "maxLength": 256, + "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + "type": "string" + } + }, + "required": [ + "SecretManagerArn" + ], + "type": "object" + }, + "RedshiftRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/RedshiftCredentialConfiguration" + }, + "RedshiftStorage": { + "$ref": "#/definitions/RedshiftStorage" + }, + "RelationalFilterConfigurations": { + "$ref": "#/definitions/RelationalFilterConfigurations" + } + }, + "required": [ + "RedshiftCredentialConfiguration", + "RedshiftStorage", + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-z0-9-]+$", + "type": "string" + } + }, + "required": [ + "WorkgroupName" + ], + "type": "object" + }, + "RedshiftStorage": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RedshiftClusterSource": { + "$ref": "#/definitions/RedshiftClusterStorage" + } + }, + "required": [ + "RedshiftClusterSource" + ], + "title": "RedshiftClusterSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftServerlessSource": { + "$ref": "#/definitions/RedshiftServerlessStorage" + } + }, + "required": [ + "RedshiftServerlessSource" + ], + "title": "RedshiftServerlessSource", + "type": "object" + } + ] + }, + "Region": { + "maxLength": 16, + "minLength": 4, + "pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]", + "type": "string" + }, + "RelationalFilterConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "FilterExpressions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterExpression" + }, + "type": "array" + }, + "SchemaName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + }, + "SageMakerRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "TrackingAssets": { + "$ref": "#/definitions/TrackingAssets" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "maxLength": 256, + "minLength": 1, + "pattern": "cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)", + "type": "string" + }, + "Timezone": { + "$ref": "#/definitions/Timezone" + } + }, + "type": "object" + }, + "Timezone": { + "enum": [ + "AFRICA_JOHANNESBURG", + "AMERICA_MONTREAL", + "AMERICA_SAO_PAULO", + "ASIA_BAHRAIN", + "ASIA_BANGKOK", + "ASIA_CALCUTTA", + "ASIA_DUBAI", + "ASIA_HONG_KONG", + "ASIA_JAKARTA", + "ASIA_KUALA_LUMPUR", + "ASIA_SEOUL", + "ASIA_SHANGHAI", + "ASIA_SINGAPORE", + "ASIA_TAIPEI", + "ASIA_TOKYO", + "AUSTRALIA_MELBOURNE", + "AUSTRALIA_SYDNEY", + "CANADA_CENTRAL", + "CET", + "CST6CDT", + "ETC_GMT", + "ETC_GMT0", + "ETC_GMT_ADD_0", + "ETC_GMT_ADD_1", + "ETC_GMT_ADD_10", + "ETC_GMT_ADD_11", + "ETC_GMT_ADD_12", + "ETC_GMT_ADD_2", + "ETC_GMT_ADD_3", + "ETC_GMT_ADD_4", + "ETC_GMT_ADD_5", + "ETC_GMT_ADD_6", + "ETC_GMT_ADD_7", + "ETC_GMT_ADD_8", + "ETC_GMT_ADD_9", + "ETC_GMT_NEG_0", + "ETC_GMT_NEG_1", + "ETC_GMT_NEG_10", + "ETC_GMT_NEG_11", + "ETC_GMT_NEG_12", + "ETC_GMT_NEG_13", + "ETC_GMT_NEG_14", + "ETC_GMT_NEG_2", + "ETC_GMT_NEG_3", + "ETC_GMT_NEG_4", + "ETC_GMT_NEG_5", + "ETC_GMT_NEG_6", + "ETC_GMT_NEG_7", + "ETC_GMT_NEG_8", + "ETC_GMT_NEG_9", + "EUROPE_DUBLIN", + "EUROPE_LONDON", + "EUROPE_PARIS", + "EUROPE_STOCKHOLM", + "EUROPE_ZURICH", + "ISRAEL", + "MEXICO_GENERAL", + "MST7MDT", + "PACIFIC_AUCKLAND", + "US_CENTRAL", + "US_EASTERN", + "US_MOUNTAIN", + "US_PACIFIC", + "UTC" + ], + "type": "string" + }, + "TrackingAssets": { + "additionalProperties": false, + "maxProperties": 1, + "patternProperties": { + "^.{1,64}$": { + "items": { + "pattern": "^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$", + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + }, + "TypeRevision": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "properties": { + "AssetFormsInput": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FormInput" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/DataSourceConfigurationInput" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "maxLength": 2048, + "type": "string" + }, + "DomainId": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "DomainIdentifier": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnableSetting": { + "$ref": "#/definitions/EnableSetting" + }, + "EnvironmentId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnvironmentIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "Id": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "LastRunAssetCount": { + "type": "number" + }, + "LastRunAt": { + "type": "string" + }, + "LastRunStatus": { + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ProjectId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "ProjectIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "PublishOnImport": { + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/RecommendationConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/ScheduleConfiguration" + }, + "Status": { + "$ref": "#/definitions/DataSourceStatus" + }, + "Type": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DomainId", + "/properties/EnvironmentId", + "/properties/Id", + "/properties/LastRunAssetCount", + "/properties/LastRunAt", + "/properties/LastRunStatus", + "/properties/ProjectId", + "/properties/Status", + "/properties/UpdatedAt" + ], + "required": [ + "Name", + "DomainIdentifier", + "ProjectIdentifier", + "EnvironmentIdentifier", + "Type" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::DataZone::DataSource", + "writeOnlyProperties": [ + "/properties/AssetFormsInput", + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/Configuration", + "/properties/ProjectIdentifier" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json deleted file mode 100644 index 9edc2ab9e6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier", - "/properties/Member" - ], - "definitions": { - "Member": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "UserIdentifier": { - "type": "string" - } - }, - "required": [ - "UserIdentifier" - ], - "title": "UserIdentifier", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "GroupIdentifier": { - "type": "string" - } - }, - "required": [ - "GroupIdentifier" - ], - "title": "GroupIdentifier", - "type": "object" - } - ] - }, - "MemberIdentifierType": { - "enum": [ - "USER_IDENTIFIER", - "GROUP_IDENTIFIER" - ], - "type": "string" - }, - "UserDesignation": { - "enum": [ - "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR", - "PROJECT_CATALOG_VIEWER", - "PROJECT_CATALOG_CONSUMER", - "PROJECT_CATALOG_STEWARD" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier" - ], - "properties": { - "Designation": { - "$ref": "#/definitions/UserDesignation" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Member": { - "$ref": "#/definitions/Member" - }, - "ProjectIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - } - }, - "required": [ - "Designation", - "DomainIdentifier", - "ProjectIdentifier", - "Member" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "taggable": false - }, - "typeName": "AWS::DataZone::ProjectMembership", - "writeOnlyProperties": [ - "/properties/Designation", - "/properties/Member" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json deleted file mode 100644 index 801ae54398..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ], - "definitions": { - "SubscriptionTargetForm": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "FormName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", - "type": "string" - } - }, - "required": [ - "Content", - "FormName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id" - ], - "properties": { - "ApplicableAssetTypes": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^\\.]*", - "type": "string" - }, - "type": "array" - }, - "AuthorizedPrincipals": { - "insertionOrder": false, - "items": { - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "type": "array" - }, - "CreatedAt": { - "format": "date-time", - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "DomainId": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Id": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "ManageAccessRole": { - "pattern": "^arn:aws(|-cn|-us-gov):iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "ProjectId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SubscriptionTargetConfig": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubscriptionTargetForm" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UpdatedAt": { - "format": "date-time", - "type": "string" - }, - "UpdatedBy": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/CreatedAt", - "/properties/CreatedBy", - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id", - "/properties/ProjectId", - "/properties/UpdatedAt", - "/properties/UpdatedBy" - ], - "required": [ - "ApplicableAssetTypes", - "AuthorizedPrincipals", - "DomainIdentifier", - "EnvironmentIdentifier", - "Name", - "SubscriptionTargetConfig", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::DataZone::SubscriptionTarget", - "writeOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json deleted file mode 100644 index 7d716f5622..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/IntegrationName", - "/properties/IntegrationType", - "/properties/ResourceConfig" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "[\\w#+=/:,.@-]*\\*?", - "type": "string" - }, - "OpenSearchResourceConfig": { - "additionalProperties": false, - "properties": { - "ApplicationARN": { - "$ref": "#/definitions/Arn" - }, - "DashboardViewerPrincipals": { - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array" - }, - "DataSourceRoleArn": { - "$ref": "#/definitions/Arn" - }, - "KmsKeyArn": { - "$ref": "#/definitions/Arn" - }, - "RetentionDays": { - "maximum": 3650, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DataSourceRoleArn", - "DashboardViewerPrincipals" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/IntegrationName" - ], - "properties": { - "IntegrationName": { - "maxLength": 256, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "IntegrationStatus": { - "enum": [ - "PROVISIONING", - "ACTIVE", - "FAILED" - ], - "type": "string" - }, - "IntegrationType": { - "enum": [ - "OPENSEARCH" - ], - "type": "string" - }, - "ResourceConfig": { - "additionalProperties": false, - "properties": { - "OpenSearchResourceConfig": { - "$ref": "#/definitions/OpenSearchResourceConfig" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/IntegrationStatus" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "IntegrationName", - "IntegrationType", - "ResourceConfig" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::Integration", - "writeOnlyProperties": [ - "/properties/ResourceConfig" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json similarity index 96% rename from src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json rename to src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json index e3dc615356..a6255dc5a7 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json @@ -76,6 +76,9 @@ "properties": { "EFSFileSystemConfig": { "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" } }, "type": "object" @@ -282,6 +285,27 @@ ], "type": "object" }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, "IdleSettings": { "additionalProperties": false, "properties": { @@ -419,7 +443,12 @@ "InferenceRecommender", "Endpoints", "Projects", - "InferenceOptimization" + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-partnerapp.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-partnerapp.json new file mode 100644 index 0000000000..271a490ba9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-partnerapp.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Type", + "/properties/ExecutionRoleArn", + "/properties/AuthType" + ], + "definitions": { + "PartnerAppAdminUserList": { + "additionalProperties": false, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "PartnerAppConfig": { + "additionalProperties": false, + "properties": { + "AdminUsers": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PartnerAppAdminUserList" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "Arguments": { + "additionalProperties": false, + "maxProperties": 5, + "patternProperties": { + "^(?!\\s*$).{1,256}$": { + "maxLength": 1024, + "pattern": "^.{0,1024}$", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "PartnerAppMaintenanceConfig": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowStart": { + "maxLength": 9, + "pattern": "(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)", + "type": "string" + } + }, + "required": [ + "MaintenanceWindowStart" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "deprecatedProperties": [ + "/properties/ClientToken" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "ApplicationConfig": { + "$ref": "#/definitions/PartnerAppConfig" + }, + "Arn": { + "maxLength": 128, + "minLength": 1, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:partner-app/app-[A-Z0-9]{12}$", + "type": "string" + }, + "AuthType": { + "enum": [ + "IAM" + ], + "type": "string" + }, + "BaseUrl": { + "maxLength": 2048, + "type": "string" + }, + "ClientToken": { + "maxLength": 36, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-]+$", + "type": "string" + }, + "EnableIamSessionBasedIdentity": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "MaintenanceConfig": { + "$ref": "#/definitions/PartnerAppMaintenanceConfig" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Tier": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Type": { + "enum": [ + "lakera-guard", + "comet", + "deepchecks-llm-evaluation", + "fiddler" + ], + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/BaseUrl" + ], + "replacementStrategy": "delete_then_create", + "required": [ + "Name", + "Type", + "AuthType", + "ExecutionRoleArn", + "Tier" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SageMaker::PartnerApp", + "writeOnlyProperties": [ + "/properties/ClientToken" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json new file mode 100644 index 0000000000..20d6fd227f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json @@ -0,0 +1,475 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/SpaceName", + "/properties/SpaceSharingSettings", + "/properties/OwnershipSettings" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "KernelGateway", + "TensorBoard", + "RStudioServerPro", + "RSessionGateway", + "JupyterLab", + "CodeEditor" + ], + "type": "string" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/EFSFileSystem" + }, + "FSxLustreFileSystem": { + "$ref": "#/definitions/FSxLustreFileSystem" + } + }, + "type": "object" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/CustomFileSystem" + }, + "maxItems": 1, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "EbsStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + } + }, + "required": [ + "OwnerUserProfileName" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/SpaceIdleSettings" + } + }, + "type": "object" + }, + "SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "SpaceIdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + } + }, + "type": "object" + }, + "SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "$ref": "#/definitions/AppType" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/SpaceCodeEditorAppSettings" + }, + "CustomFileSystems": { + "$ref": "#/definitions/CustomFileSystems" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/SpaceJupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/SpaceStorageSettings" + } + }, + "type": "object" + }, + "SpaceSharingSettings": { + "additionalProperties": false, + "properties": { + "SharingType": { + "enum": [ + "Private", + "Shared" + ], + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/EbsStorageSettings" + } + }, + "type": "object" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/SpaceName" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "OwnershipSettings": { + "$ref": "#/definitions/OwnershipSettings" + }, + "SpaceArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*", + "type": "string" + }, + "SpaceDisplayName": { + "maxLength": 64, + "pattern": "^(?!\\s*$).+", + "type": "string" + }, + "SpaceName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "SpaceSettings": { + "$ref": "#/definitions/SpaceSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + }, + "SpaceSharingSettings": { + "$ref": "#/definitions/SpaceSharingSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/SpaceArn", + "/properties/Url" + ], + "required": [ + "DomainId", + "SpaceName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SageMaker::Space", + "writeOnlyProperties": [ + "/properties/SpaceSettings" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json similarity index 95% rename from src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json rename to src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json index 76b5b0dad8..2d4d1a2f88 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json @@ -77,6 +77,9 @@ "properties": { "EFSFileSystemConfig": { "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" } }, "type": "object" @@ -171,6 +174,27 @@ ], "type": "object" }, + "FSxLustreFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, "IdleSettings": { "additionalProperties": false, "properties": { @@ -307,7 +331,12 @@ "InferenceRecommender", "Endpoints", "Projects", - "InferenceOptimization" + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 a3e1a9300a..f9405e76b6 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 @@ -98,6 +98,7 @@ "AWS::CDK::Metadata", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::CloudFormation::CustomResource", @@ -781,7 +782,9 @@ "aws-batch-schedulingpolicy.json", "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-certificatemanager-account.json", "aws-certificatemanager-certificate.json", "aws-cloudformation-customresource.json", @@ -862,7 +865,6 @@ "aws-ec2-clientvpntargetnetworkassociation.json", "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", - "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", "aws-ec2-eip.json", "aws-ec2-enclavecertificateiamroleassociation.json", @@ -886,6 +888,7 @@ "aws-ec2-localgatewayroutetablevpcassociation.json", "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -896,7 +899,6 @@ "aws-ec2-securitygroupingress.json", "aws-ec2-securitygroupvpcassociation.json", "aws-ec2-snapshotblockpublicaccess.json", - "aws-ec2-spotfleet.json", "aws-ec2-subnet.json", "aws-ec2-subnetcidrblock.json", "aws-ec2-subnetnetworkaclassociation.json", @@ -941,6 +943,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -968,8 +971,6 @@ "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-events-archive.json", "aws-events-eventbuspolicy.json", "aws-eventschemas-discoverer.json", @@ -1084,6 +1085,7 @@ "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1134,8 +1136,15 @@ "aws-organizations-resourcepolicy.json", "aws-ram-permission.json", "aws-rbin-rule.json", + "aws-rds-dbcluster.json", + "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", + "aws-rds-dbparametergroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", + "aws-rds-dbsubnetgroup.json", + "aws-rds-eventsubscription.json", + "aws-rds-optiongroup.json", "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", @@ -1263,6 +1272,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-policy.json", @@ -1278,6 +1288,7 @@ "aws-wafv2-loggingconfiguration.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-xray-resourcepolicy.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-ec2fleet.json new file mode 100644 index 0000000000..84c05df06a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-ec2fleet.json @@ -0,0 +1,1608 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "enum": [ + "use-capacity-reservations-first" + ], + "type": "string" + } + }, + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "enum": [ + "a1.2xlarge", + "a1.4xlarge", + "a1.large", + "a1.medium", + "a1.metal", + "a1.xlarge", + "c1.medium", + "c1.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c3.large", + "c3.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c4.large", + "c4.xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.large", + "c5.metal", + "c5.xlarge", + "c5a.12xlarge", + "c5a.16xlarge", + "c5a.24xlarge", + "c5a.2xlarge", + "c5a.4xlarge", + "c5a.8xlarge", + "c5a.large", + "c5a.xlarge", + "c5ad.12xlarge", + "c5ad.16xlarge", + "c5ad.24xlarge", + "c5ad.2xlarge", + "c5ad.4xlarge", + "c5ad.8xlarge", + "c5ad.large", + "c5ad.xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.large", + "c5d.metal", + "c5d.xlarge", + "c5n.18xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.large", + "c5n.metal", + "c5n.xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.2xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.large", + "c6a.metal", + "c6a.xlarge", + "c6g.12xlarge", + "c6g.16xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.large", + "c6g.medium", + "c6g.metal", + "c6g.xlarge", + "c6gd.12xlarge", + "c6gd.16xlarge", + "c6gd.2xlarge", + "c6gd.4xlarge", + "c6gd.8xlarge", + "c6gd.large", + "c6gd.medium", + "c6gd.metal", + "c6gd.xlarge", + "c6gn.12xlarge", + "c6gn.16xlarge", + "c6gn.2xlarge", + "c6gn.4xlarge", + "c6gn.8xlarge", + "c6gn.large", + "c6gn.medium", + "c6gn.xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "c6i.2xlarge", + "c6i.32xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.large", + "c6i.metal", + "c6i.xlarge", + "c6id.12xlarge", + "c6id.16xlarge", + "c6id.24xlarge", + "c6id.2xlarge", + "c6id.32xlarge", + "c6id.4xlarge", + "c6id.8xlarge", + "c6id.large", + "c6id.metal", + "c6id.xlarge", + "c6in.12xlarge", + "c6in.16xlarge", + "c6in.24xlarge", + "c6in.2xlarge", + "c6in.32xlarge", + "c6in.4xlarge", + "c6in.8xlarge", + "c6in.large", + "c6in.metal", + "c6in.xlarge", + "c7a.12xlarge", + "c7a.16xlarge", + "c7a.24xlarge", + "c7a.2xlarge", + "c7a.32xlarge", + "c7a.48xlarge", + "c7a.4xlarge", + "c7a.8xlarge", + "c7a.large", + "c7a.medium", + "c7a.metal-48xl", + "c7a.xlarge", + "c7g.12xlarge", + "c7g.16xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.large", + "c7g.medium", + "c7g.metal", + "c7g.xlarge", + "c7gd.12xlarge", + "c7gd.16xlarge", + "c7gd.2xlarge", + "c7gd.4xlarge", + "c7gd.8xlarge", + "c7gd.large", + "c7gd.medium", + "c7gd.metal", + "c7gd.xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.large", + "c7gn.medium", + "c7gn.metal", + "c7gn.xlarge", + "c7i-flex.2xlarge", + "c7i-flex.4xlarge", + "c7i-flex.8xlarge", + "c7i-flex.large", + "c7i-flex.xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.2xlarge", + "c7i.48xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.large", + "c7i.metal-24xl", + "c7i.metal-48xl", + "c7i.xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.2xlarge", + "c8g.48xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.large", + "c8g.medium", + "c8g.metal-24xl", + "c8g.metal-48xl", + "c8g.xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "cg1.4xlarge", + "cr1.8xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "d2.xlarge", + "d3.2xlarge", + "d3.4xlarge", + "d3.8xlarge", + "d3.xlarge", + "d3en.12xlarge", + "d3en.2xlarge", + "d3en.4xlarge", + "d3en.6xlarge", + "d3en.8xlarge", + "d3en.xlarge", + "dl1.24xlarge", + "dl2q.24xlarge", + "f1.16xlarge", + "f1.2xlarge", + "f1.4xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.16xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3s.xlarge", + "g4ad.16xlarge", + "g4ad.2xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.metal", + "g4dn.xlarge", + "g5.12xlarge", + "g5.16xlarge", + "g5.24xlarge", + "g5.2xlarge", + "g5.48xlarge", + "g5.4xlarge", + "g5.8xlarge", + "g5.xlarge", + "g5g.16xlarge", + "g5g.2xlarge", + "g5g.4xlarge", + "g5g.8xlarge", + "g5g.metal", + "g5g.xlarge", + "g6.12xlarge", + "g6.16xlarge", + "g6.24xlarge", + "g6.2xlarge", + "g6.48xlarge", + "g6.4xlarge", + "g6.8xlarge", + "g6.xlarge", + "g6e.12xlarge", + "g6e.16xlarge", + "g6e.24xlarge", + "g6e.2xlarge", + "g6e.48xlarge", + "g6e.4xlarge", + "g6e.8xlarge", + "g6e.xlarge", + "gr6.4xlarge", + "gr6.8xlarge", + "h1.16xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "hi1.4xlarge", + "hpc6a.48xlarge", + "hpc6id.32xlarge", + "hpc7a.12xlarge", + "hpc7a.24xlarge", + "hpc7a.48xlarge", + "hpc7a.96xlarge", + "hpc7g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hs1.8xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i2.xlarge", + "i3.16xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.large", + "i3.metal", + "i3.xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.large", + "i3en.metal", + "i3en.xlarge", + "i4g.16xlarge", + "i4g.2xlarge", + "i4g.4xlarge", + "i4g.8xlarge", + "i4g.large", + "i4g.xlarge", + "i4i.12xlarge", + "i4i.16xlarge", + "i4i.24xlarge", + "i4i.2xlarge", + "i4i.32xlarge", + "i4i.4xlarge", + "i4i.8xlarge", + "i4i.large", + "i4i.metal", + "i4i.xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.48xlarge", + "i7ie.6xlarge", + "i7ie.large", + "i7ie.xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.large", + "i8g.metal-24xl", + "i8g.xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "inf1.24xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.xlarge", + "inf2.24xlarge", + "inf2.48xlarge", + "inf2.8xlarge", + "inf2.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", + "m1.large", + "m1.medium", + "m1.small", + "m1.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "m2.xlarge", + "m3.2xlarge", + "m3.large", + "m3.medium", + "m3.xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.large", + "m4.xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.large", + "m5.metal", + "m5.xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.large", + "m5a.xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.large", + "m5ad.xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.large", + "m5d.metal", + "m5d.xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.large", + "m5dn.metal", + "m5dn.xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.large", + "m5n.metal", + "m5n.xlarge", + "m5zn.12xlarge", + "m5zn.2xlarge", + "m5zn.3xlarge", + "m5zn.6xlarge", + "m5zn.large", + "m5zn.metal", + "m5zn.xlarge", + "m6a.12xlarge", + "m6a.16xlarge", + "m6a.24xlarge", + "m6a.2xlarge", + "m6a.32xlarge", + "m6a.48xlarge", + "m6a.4xlarge", + "m6a.8xlarge", + "m6a.large", + "m6a.metal", + "m6a.xlarge", + "m6g.12xlarge", + "m6g.16xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.large", + "m6g.medium", + "m6g.metal", + "m6g.xlarge", + "m6gd.12xlarge", + "m6gd.16xlarge", + "m6gd.2xlarge", + "m6gd.4xlarge", + "m6gd.8xlarge", + "m6gd.large", + "m6gd.medium", + "m6gd.metal", + "m6gd.xlarge", + "m6i.12xlarge", + "m6i.16xlarge", + "m6i.24xlarge", + "m6i.2xlarge", + "m6i.32xlarge", + "m6i.4xlarge", + "m6i.8xlarge", + "m6i.large", + "m6i.metal", + "m6i.xlarge", + "m6id.12xlarge", + "m6id.16xlarge", + "m6id.24xlarge", + "m6id.2xlarge", + "m6id.32xlarge", + "m6id.4xlarge", + "m6id.8xlarge", + "m6id.large", + "m6id.metal", + "m6id.xlarge", + "m6idn.12xlarge", + "m6idn.16xlarge", + "m6idn.24xlarge", + "m6idn.2xlarge", + "m6idn.32xlarge", + "m6idn.4xlarge", + "m6idn.8xlarge", + "m6idn.large", + "m6idn.metal", + "m6idn.xlarge", + "m6in.12xlarge", + "m6in.16xlarge", + "m6in.24xlarge", + "m6in.2xlarge", + "m6in.32xlarge", + "m6in.4xlarge", + "m6in.8xlarge", + "m6in.large", + "m6in.metal", + "m6in.xlarge", + "m7a.12xlarge", + "m7a.16xlarge", + "m7a.24xlarge", + "m7a.2xlarge", + "m7a.32xlarge", + "m7a.48xlarge", + "m7a.4xlarge", + "m7a.8xlarge", + "m7a.large", + "m7a.medium", + "m7a.metal-48xl", + "m7a.xlarge", + "m7g.12xlarge", + "m7g.16xlarge", + "m7g.2xlarge", + "m7g.4xlarge", + "m7g.8xlarge", + "m7g.large", + "m7g.medium", + "m7g.metal", + "m7g.xlarge", + "m7gd.12xlarge", + "m7gd.16xlarge", + "m7gd.2xlarge", + "m7gd.4xlarge", + "m7gd.8xlarge", + "m7gd.large", + "m7gd.medium", + "m7gd.metal", + "m7gd.xlarge", + "m7i-flex.2xlarge", + "m7i-flex.4xlarge", + "m7i-flex.8xlarge", + "m7i-flex.large", + "m7i-flex.xlarge", + "m7i.12xlarge", + "m7i.16xlarge", + "m7i.24xlarge", + "m7i.2xlarge", + "m7i.48xlarge", + "m7i.4xlarge", + "m7i.8xlarge", + "m7i.large", + "m7i.metal-24xl", + "m7i.metal-48xl", + "m7i.xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.2xlarge", + "m8g.48xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.large", + "m8g.medium", + "m8g.metal-24xl", + "m8g.metal-48xl", + "m8g.xlarge", + "mac1.metal", + "mac2-m1ultra.metal", + "mac2-m2.metal", + "mac2-m2pro.metal", + "mac2.metal", + "p2.16xlarge", + "p2.8xlarge", + "p2.xlarge", + "p3.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3dn.24xlarge", + "p4d.24xlarge", + "p4de.24xlarge", + "p5.48xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r3.large", + "r3.xlarge", + "r4.16xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.large", + "r4.xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.large", + "r5.metal", + "r5.xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.large", + "r5a.xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.large", + "r5ad.xlarge", + "r5b.12xlarge", + "r5b.16xlarge", + "r5b.24xlarge", + "r5b.2xlarge", + "r5b.4xlarge", + "r5b.8xlarge", + "r5b.large", + "r5b.metal", + "r5b.xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.large", + "r5d.metal", + "r5d.xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.large", + "r5dn.metal", + "r5dn.xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.large", + "r5n.metal", + "r5n.xlarge", + "r6a.12xlarge", + "r6a.16xlarge", + "r6a.24xlarge", + "r6a.2xlarge", + "r6a.32xlarge", + "r6a.48xlarge", + "r6a.4xlarge", + "r6a.8xlarge", + "r6a.large", + "r6a.metal", + "r6a.xlarge", + "r6g.12xlarge", + "r6g.16xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.large", + "r6g.medium", + "r6g.metal", + "r6g.xlarge", + "r6gd.12xlarge", + "r6gd.16xlarge", + "r6gd.2xlarge", + "r6gd.4xlarge", + "r6gd.8xlarge", + "r6gd.large", + "r6gd.medium", + "r6gd.metal", + "r6gd.xlarge", + "r6i.12xlarge", + "r6i.16xlarge", + "r6i.24xlarge", + "r6i.2xlarge", + "r6i.32xlarge", + "r6i.4xlarge", + "r6i.8xlarge", + "r6i.large", + "r6i.metal", + "r6i.xlarge", + "r6id.12xlarge", + "r6id.16xlarge", + "r6id.24xlarge", + "r6id.2xlarge", + "r6id.32xlarge", + "r6id.4xlarge", + "r6id.8xlarge", + "r6id.large", + "r6id.metal", + "r6id.xlarge", + "r6idn.12xlarge", + "r6idn.16xlarge", + "r6idn.24xlarge", + "r6idn.2xlarge", + "r6idn.32xlarge", + "r6idn.4xlarge", + "r6idn.8xlarge", + "r6idn.large", + "r6idn.metal", + "r6idn.xlarge", + "r6in.12xlarge", + "r6in.16xlarge", + "r6in.24xlarge", + "r6in.2xlarge", + "r6in.32xlarge", + "r6in.4xlarge", + "r6in.8xlarge", + "r6in.large", + "r6in.metal", + "r6in.xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.2xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.large", + "r7a.medium", + "r7a.metal-48xl", + "r7a.xlarge", + "r7g.12xlarge", + "r7g.16xlarge", + "r7g.2xlarge", + "r7g.4xlarge", + "r7g.8xlarge", + "r7g.large", + "r7g.medium", + "r7g.metal", + "r7g.xlarge", + "r7gd.12xlarge", + "r7gd.16xlarge", + "r7gd.2xlarge", + "r7gd.4xlarge", + "r7gd.8xlarge", + "r7gd.large", + "r7gd.medium", + "r7gd.metal", + "r7gd.xlarge", + "r7i.12xlarge", + "r7i.16xlarge", + "r7i.24xlarge", + "r7i.2xlarge", + "r7i.48xlarge", + "r7i.4xlarge", + "r7i.8xlarge", + "r7i.large", + "r7i.metal-24xl", + "r7i.metal-48xl", + "r7i.xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.2xlarge", + "r7iz.32xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.large", + "r7iz.metal-16xl", + "r7iz.metal-32xl", + "r7iz.xlarge", + "r8g.12xlarge", + "r8g.16xlarge", + "r8g.24xlarge", + "r8g.2xlarge", + "r8g.48xlarge", + "r8g.4xlarge", + "r8g.8xlarge", + "r8g.large", + "r8g.medium", + "r8g.metal-24xl", + "r8g.metal-48xl", + "r8g.xlarge", + "t1.micro", + "t2.2xlarge", + "t2.large", + "t2.medium", + "t2.micro", + "t2.nano", + "t2.small", + "t2.xlarge", + "t3.2xlarge", + "t3.large", + "t3.medium", + "t3.micro", + "t3.nano", + "t3.small", + "t3.xlarge", + "t3a.2xlarge", + "t3a.large", + "t3a.medium", + "t3a.micro", + "t3a.nano", + "t3a.small", + "t3a.xlarge", + "t4g.2xlarge", + "t4g.large", + "t4g.medium", + "t4g.micro", + "t4g.nano", + "t4g.small", + "t4g.xlarge", + "trn1.2xlarge", + "trn1.32xlarge", + "trn1n.32xlarge", + "u-12tb1.112xlarge", + "u-12tb1.metal", + "u-18tb1.112xlarge", + "u-18tb1.metal", + "u-24tb1.112xlarge", + "u-24tb1.metal", + "u-3tb1.56xlarge", + "u-6tb1.112xlarge", + "u-6tb1.56xlarge", + "u-6tb1.metal", + "u-9tb1.112xlarge", + "u-9tb1.metal", + "u7i-12tb.224xlarge", + "u7ib-12tb.224xlarge", + "u7in-16tb.224xlarge", + "u7in-24tb.224xlarge", + "u7in-32tb.224xlarge", + "vt1.24xlarge", + "vt1.3xlarge", + "vt1.6xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.16xlarge", + "x1e.2xlarge", + "x1e.32xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.xlarge", + "x2gd.12xlarge", + "x2gd.16xlarge", + "x2gd.2xlarge", + "x2gd.4xlarge", + "x2gd.8xlarge", + "x2gd.large", + "x2gd.medium", + "x2gd.metal", + "x2gd.xlarge", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2idn.metal", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.2xlarge", + "x2iedn.32xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.metal", + "x2iedn.xlarge", + "x2iezn.12xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.metal", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.2xlarge", + "x8g.48xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.large", + "x8g.medium", + "x8g.metal-24xl", + "x8g.metal-48xl", + "x8g.xlarge", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "prioritized" + ], + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "integer" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "lowestPrice", + "diversified", + "capacityOptimized", + "capacity-optimized", + "capacityOptimizedPrioritized", + "capacity-optimized-prioritized", + "priceCapacityOptimized", + "price-capacity-optimized" + ], + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "SpotTargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TotalTargetCapacity": { + "type": "integer" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FleetId" + ], + "properties": { + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "termination", + "no-termination" + ], + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request", + "instant" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FleetId" + ], + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], + "typeName": "AWS::EC2::EC2Fleet" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-spotfleet.json new file mode 100644 index 0000000000..b92bf8572f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-spotfleet.json @@ -0,0 +1,993 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/AllocationStrategy", + "/properties/SpotFleetRequestConfigData/IamFleetRole", + "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", + "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", + "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", + "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", + "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", + "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", + "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", + "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/SpotPrice", + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", + "/properties/SpotFleetRequestConfigData/Type", + "/properties/SpotFleetRequestConfigData/ValidFrom", + "/properties/SpotFleetRequestConfigData/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "requiredXor": [ + "VirtualName", + "Ebs", + "NoDevice" + ], + "type": "object" + }, + "ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/ClassicLoadBalancer" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "GroupIdentifier": { + "additionalProperties": false, + "format": "AWS::EC2::SecurityGroup.GroupId", + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "integer" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": true + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "SecondaryPrivateIpAddressCount": { + "type": "integer" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/TargetGroupsConfig" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "default": false, + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/IamInstanceProfileSpecification" + }, + "ImageId": { + "format": "AWS::EC2::Image.Id", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "Placement": { + "$ref": "#/definitions/SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "$ref": "#/definitions/GroupIdentifier" + }, + "type": "array", + "uniqueItems": true + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "capacityOptimized", + "capacityOptimizedPrioritized", + "diversified", + "lowestPrice", + "priceCapacityOptimized" + ], + "type": "string" + }, + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "Default", + "NoTermination", + "default", + "noTermination" + ], + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetLaunchSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/LaunchTemplateConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "TargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "requiredXor": [ + "LaunchSpecifications", + "LaunchTemplateConfigs" + ], + "type": "object" + }, + "SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/SpotCapacityRebalance" + } + }, + "type": "object" + }, + "SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/TargetGroup" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/SpotFleetRequestConfigData" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "SpotFleetRequestConfigData" + ], + "typeName": "AWS::EC2::SpotFleet", + "writeOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json deleted file mode 100644 index 72b2c49945..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBClusterParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBClusterParameterGroupName" - ], - "properties": { - "DBClusterParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array" - } - }, - "propertyTransform": { - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)" - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBClusterParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json deleted file mode 100644 index 8d14cf78b9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBParameterGroupName" - ], - "properties": { - "DBParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)" - }, - "required": [ - "Family", - "Description" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json deleted file mode 100644 index 7229fe5de5..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBSubnetGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "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/us_gov_east_1/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-eventsubscription.json deleted file mode 100644 index 10fa51a2d0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-eventsubscription.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/SubscriptionName" - ], - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" - }, - "required": [ - "SnsTopicArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json deleted file mode 100644 index d0e1e7a6a9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineName", - "/properties/MajorEngineVersion", - "/properties/OptionGroupDescription", - "/properties/OptionGroupName" - ], - "definitions": { - "OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "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" - } - }, - "primaryIdentifier": [ - "/properties/OptionGroupName" - ], - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/OptionGroupName": "$lowercase(OptionGroupName)" - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::OptionGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} 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 97eea60595..08d730d264 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 @@ -98,11 +98,17 @@ "AWS::Batch::JobDefinition", "AWS::Batch::JobQueue", "AWS::Batch::SchedulingPolicy", + "AWS::Bedrock::Flow", + "AWS::Bedrock::FlowAlias", + "AWS::Bedrock::FlowVersion", "AWS::Bedrock::Guardrail", "AWS::Bedrock::GuardrailVersion", + "AWS::Bedrock::Prompt", + "AWS::Bedrock::PromptVersion", "AWS::CDK::Metadata", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::CloudFormation::CustomResource", @@ -897,9 +903,16 @@ "aws-batch-computeenvironment.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", + "aws-bedrock-flow.json", + "aws-bedrock-flowalias.json", + "aws-bedrock-flowversion.json", "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", + "aws-bedrock-prompt.json", + "aws-bedrock-promptversion.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-certificatemanager-account.json", "aws-certificatemanager-certificate.json", "aws-cloudformation-customresource.json", @@ -976,7 +989,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1017,7 +1029,6 @@ "aws-ec2-clientvpntargetnetworkassociation.json", "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", - "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", "aws-ec2-eip.json", "aws-ec2-enclavecertificateiamroleassociation.json", @@ -1042,6 +1053,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -1052,7 +1064,6 @@ "aws-ec2-securitygroupingress.json", "aws-ec2-securitygroupvpcassociation.json", "aws-ec2-snapshotblockpublicaccess.json", - "aws-ec2-spotfleet.json", "aws-ec2-subnet.json", "aws-ec2-subnetcidrblock.json", "aws-ec2-subnetnetworkaclassociation.json", @@ -1097,6 +1108,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1124,8 +1136,6 @@ "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-events-archive.json", "aws-events-eventbuspolicy.json", "aws-eventschemas-discoverer.json", @@ -1257,7 +1267,6 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", - "aws-lambda-eventinvokeconfig.json", "aws-lambda-function.json", "aws-lambda-permission.json", "aws-launchwizard-deployment.json", @@ -1269,6 +1278,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1279,6 +1289,7 @@ "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", "aws-logs-subscriptionfilter.json", + "aws-m2-application.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1333,7 +1344,6 @@ "aws-pinpoint-voicechannel.json", "aws-quicksight-analysis.json", "aws-quicksight-dashboard.json", - "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", "aws-quicksight-folder.json", "aws-quicksight-refreshschedule.json", @@ -1342,8 +1352,15 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", + "aws-rds-dbcluster.json", + "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", + "aws-rds-dbparametergroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", + "aws-rds-dbsubnetgroup.json", + "aws-rds-eventsubscription.json", + "aws-rds-optiongroup.json", "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", @@ -1503,6 +1520,7 @@ "aws-wafv2-loggingconfiguration.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-xray-resourcepolicy.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-ec2fleet.json new file mode 100644 index 0000000000..84c05df06a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-ec2fleet.json @@ -0,0 +1,1608 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "CapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "enum": [ + "use-capacity-reservations-first" + ], + "type": "string" + } + }, + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "enum": [ + "a1.2xlarge", + "a1.4xlarge", + "a1.large", + "a1.medium", + "a1.metal", + "a1.xlarge", + "c1.medium", + "c1.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c3.large", + "c3.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c4.large", + "c4.xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.large", + "c5.metal", + "c5.xlarge", + "c5a.12xlarge", + "c5a.16xlarge", + "c5a.24xlarge", + "c5a.2xlarge", + "c5a.4xlarge", + "c5a.8xlarge", + "c5a.large", + "c5a.xlarge", + "c5ad.12xlarge", + "c5ad.16xlarge", + "c5ad.24xlarge", + "c5ad.2xlarge", + "c5ad.4xlarge", + "c5ad.8xlarge", + "c5ad.large", + "c5ad.xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.large", + "c5d.metal", + "c5d.xlarge", + "c5n.18xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.large", + "c5n.metal", + "c5n.xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.2xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.large", + "c6a.metal", + "c6a.xlarge", + "c6g.12xlarge", + "c6g.16xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.large", + "c6g.medium", + "c6g.metal", + "c6g.xlarge", + "c6gd.12xlarge", + "c6gd.16xlarge", + "c6gd.2xlarge", + "c6gd.4xlarge", + "c6gd.8xlarge", + "c6gd.large", + "c6gd.medium", + "c6gd.metal", + "c6gd.xlarge", + "c6gn.12xlarge", + "c6gn.16xlarge", + "c6gn.2xlarge", + "c6gn.4xlarge", + "c6gn.8xlarge", + "c6gn.large", + "c6gn.medium", + "c6gn.xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "c6i.2xlarge", + "c6i.32xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.large", + "c6i.metal", + "c6i.xlarge", + "c6id.12xlarge", + "c6id.16xlarge", + "c6id.24xlarge", + "c6id.2xlarge", + "c6id.32xlarge", + "c6id.4xlarge", + "c6id.8xlarge", + "c6id.large", + "c6id.metal", + "c6id.xlarge", + "c6in.12xlarge", + "c6in.16xlarge", + "c6in.24xlarge", + "c6in.2xlarge", + "c6in.32xlarge", + "c6in.4xlarge", + "c6in.8xlarge", + "c6in.large", + "c6in.metal", + "c6in.xlarge", + "c7a.12xlarge", + "c7a.16xlarge", + "c7a.24xlarge", + "c7a.2xlarge", + "c7a.32xlarge", + "c7a.48xlarge", + "c7a.4xlarge", + "c7a.8xlarge", + "c7a.large", + "c7a.medium", + "c7a.metal-48xl", + "c7a.xlarge", + "c7g.12xlarge", + "c7g.16xlarge", + "c7g.2xlarge", + "c7g.4xlarge", + "c7g.8xlarge", + "c7g.large", + "c7g.medium", + "c7g.metal", + "c7g.xlarge", + "c7gd.12xlarge", + "c7gd.16xlarge", + "c7gd.2xlarge", + "c7gd.4xlarge", + "c7gd.8xlarge", + "c7gd.large", + "c7gd.medium", + "c7gd.metal", + "c7gd.xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.large", + "c7gn.medium", + "c7gn.metal", + "c7gn.xlarge", + "c7i-flex.2xlarge", + "c7i-flex.4xlarge", + "c7i-flex.8xlarge", + "c7i-flex.large", + "c7i-flex.xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.2xlarge", + "c7i.48xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.large", + "c7i.metal-24xl", + "c7i.metal-48xl", + "c7i.xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.2xlarge", + "c8g.48xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.large", + "c8g.medium", + "c8g.metal-24xl", + "c8g.metal-48xl", + "c8g.xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "cg1.4xlarge", + "cr1.8xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "d2.xlarge", + "d3.2xlarge", + "d3.4xlarge", + "d3.8xlarge", + "d3.xlarge", + "d3en.12xlarge", + "d3en.2xlarge", + "d3en.4xlarge", + "d3en.6xlarge", + "d3en.8xlarge", + "d3en.xlarge", + "dl1.24xlarge", + "dl2q.24xlarge", + "f1.16xlarge", + "f1.2xlarge", + "f1.4xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.16xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3s.xlarge", + "g4ad.16xlarge", + "g4ad.2xlarge", + "g4ad.4xlarge", + "g4ad.8xlarge", + "g4ad.xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.metal", + "g4dn.xlarge", + "g5.12xlarge", + "g5.16xlarge", + "g5.24xlarge", + "g5.2xlarge", + "g5.48xlarge", + "g5.4xlarge", + "g5.8xlarge", + "g5.xlarge", + "g5g.16xlarge", + "g5g.2xlarge", + "g5g.4xlarge", + "g5g.8xlarge", + "g5g.metal", + "g5g.xlarge", + "g6.12xlarge", + "g6.16xlarge", + "g6.24xlarge", + "g6.2xlarge", + "g6.48xlarge", + "g6.4xlarge", + "g6.8xlarge", + "g6.xlarge", + "g6e.12xlarge", + "g6e.16xlarge", + "g6e.24xlarge", + "g6e.2xlarge", + "g6e.48xlarge", + "g6e.4xlarge", + "g6e.8xlarge", + "g6e.xlarge", + "gr6.4xlarge", + "gr6.8xlarge", + "h1.16xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "hi1.4xlarge", + "hpc6a.48xlarge", + "hpc6id.32xlarge", + "hpc7a.12xlarge", + "hpc7a.24xlarge", + "hpc7a.48xlarge", + "hpc7a.96xlarge", + "hpc7g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hs1.8xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i2.xlarge", + "i3.16xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.large", + "i3.metal", + "i3.xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.large", + "i3en.metal", + "i3en.xlarge", + "i4g.16xlarge", + "i4g.2xlarge", + "i4g.4xlarge", + "i4g.8xlarge", + "i4g.large", + "i4g.xlarge", + "i4i.12xlarge", + "i4i.16xlarge", + "i4i.24xlarge", + "i4i.2xlarge", + "i4i.32xlarge", + "i4i.4xlarge", + "i4i.8xlarge", + "i4i.large", + "i4i.metal", + "i4i.xlarge", + "i7ie.12xlarge", + "i7ie.18xlarge", + "i7ie.24xlarge", + "i7ie.2xlarge", + "i7ie.3xlarge", + "i7ie.48xlarge", + "i7ie.6xlarge", + "i7ie.large", + "i7ie.xlarge", + "i8g.12xlarge", + "i8g.16xlarge", + "i8g.24xlarge", + "i8g.2xlarge", + "i8g.4xlarge", + "i8g.8xlarge", + "i8g.large", + "i8g.metal-24xl", + "i8g.xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "inf1.24xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.xlarge", + "inf2.24xlarge", + "inf2.48xlarge", + "inf2.8xlarge", + "inf2.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", + "m1.large", + "m1.medium", + "m1.small", + "m1.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "m2.xlarge", + "m3.2xlarge", + "m3.large", + "m3.medium", + "m3.xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.large", + "m4.xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.large", + "m5.metal", + "m5.xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.large", + "m5a.xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.large", + "m5ad.xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.large", + "m5d.metal", + "m5d.xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.large", + "m5dn.metal", + "m5dn.xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.large", + "m5n.metal", + "m5n.xlarge", + "m5zn.12xlarge", + "m5zn.2xlarge", + "m5zn.3xlarge", + "m5zn.6xlarge", + "m5zn.large", + "m5zn.metal", + "m5zn.xlarge", + "m6a.12xlarge", + "m6a.16xlarge", + "m6a.24xlarge", + "m6a.2xlarge", + "m6a.32xlarge", + "m6a.48xlarge", + "m6a.4xlarge", + "m6a.8xlarge", + "m6a.large", + "m6a.metal", + "m6a.xlarge", + "m6g.12xlarge", + "m6g.16xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.large", + "m6g.medium", + "m6g.metal", + "m6g.xlarge", + "m6gd.12xlarge", + "m6gd.16xlarge", + "m6gd.2xlarge", + "m6gd.4xlarge", + "m6gd.8xlarge", + "m6gd.large", + "m6gd.medium", + "m6gd.metal", + "m6gd.xlarge", + "m6i.12xlarge", + "m6i.16xlarge", + "m6i.24xlarge", + "m6i.2xlarge", + "m6i.32xlarge", + "m6i.4xlarge", + "m6i.8xlarge", + "m6i.large", + "m6i.metal", + "m6i.xlarge", + "m6id.12xlarge", + "m6id.16xlarge", + "m6id.24xlarge", + "m6id.2xlarge", + "m6id.32xlarge", + "m6id.4xlarge", + "m6id.8xlarge", + "m6id.large", + "m6id.metal", + "m6id.xlarge", + "m6idn.12xlarge", + "m6idn.16xlarge", + "m6idn.24xlarge", + "m6idn.2xlarge", + "m6idn.32xlarge", + "m6idn.4xlarge", + "m6idn.8xlarge", + "m6idn.large", + "m6idn.metal", + "m6idn.xlarge", + "m6in.12xlarge", + "m6in.16xlarge", + "m6in.24xlarge", + "m6in.2xlarge", + "m6in.32xlarge", + "m6in.4xlarge", + "m6in.8xlarge", + "m6in.large", + "m6in.metal", + "m6in.xlarge", + "m7a.12xlarge", + "m7a.16xlarge", + "m7a.24xlarge", + "m7a.2xlarge", + "m7a.32xlarge", + "m7a.48xlarge", + "m7a.4xlarge", + "m7a.8xlarge", + "m7a.large", + "m7a.medium", + "m7a.metal-48xl", + "m7a.xlarge", + "m7g.12xlarge", + "m7g.16xlarge", + "m7g.2xlarge", + "m7g.4xlarge", + "m7g.8xlarge", + "m7g.large", + "m7g.medium", + "m7g.metal", + "m7g.xlarge", + "m7gd.12xlarge", + "m7gd.16xlarge", + "m7gd.2xlarge", + "m7gd.4xlarge", + "m7gd.8xlarge", + "m7gd.large", + "m7gd.medium", + "m7gd.metal", + "m7gd.xlarge", + "m7i-flex.2xlarge", + "m7i-flex.4xlarge", + "m7i-flex.8xlarge", + "m7i-flex.large", + "m7i-flex.xlarge", + "m7i.12xlarge", + "m7i.16xlarge", + "m7i.24xlarge", + "m7i.2xlarge", + "m7i.48xlarge", + "m7i.4xlarge", + "m7i.8xlarge", + "m7i.large", + "m7i.metal-24xl", + "m7i.metal-48xl", + "m7i.xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.2xlarge", + "m8g.48xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.large", + "m8g.medium", + "m8g.metal-24xl", + "m8g.metal-48xl", + "m8g.xlarge", + "mac1.metal", + "mac2-m1ultra.metal", + "mac2-m2.metal", + "mac2-m2pro.metal", + "mac2.metal", + "p2.16xlarge", + "p2.8xlarge", + "p2.xlarge", + "p3.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3dn.24xlarge", + "p4d.24xlarge", + "p4de.24xlarge", + "p5.48xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r3.large", + "r3.xlarge", + "r4.16xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.large", + "r4.xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.large", + "r5.metal", + "r5.xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.large", + "r5a.xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.large", + "r5ad.xlarge", + "r5b.12xlarge", + "r5b.16xlarge", + "r5b.24xlarge", + "r5b.2xlarge", + "r5b.4xlarge", + "r5b.8xlarge", + "r5b.large", + "r5b.metal", + "r5b.xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.large", + "r5d.metal", + "r5d.xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.large", + "r5dn.metal", + "r5dn.xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.large", + "r5n.metal", + "r5n.xlarge", + "r6a.12xlarge", + "r6a.16xlarge", + "r6a.24xlarge", + "r6a.2xlarge", + "r6a.32xlarge", + "r6a.48xlarge", + "r6a.4xlarge", + "r6a.8xlarge", + "r6a.large", + "r6a.metal", + "r6a.xlarge", + "r6g.12xlarge", + "r6g.16xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.large", + "r6g.medium", + "r6g.metal", + "r6g.xlarge", + "r6gd.12xlarge", + "r6gd.16xlarge", + "r6gd.2xlarge", + "r6gd.4xlarge", + "r6gd.8xlarge", + "r6gd.large", + "r6gd.medium", + "r6gd.metal", + "r6gd.xlarge", + "r6i.12xlarge", + "r6i.16xlarge", + "r6i.24xlarge", + "r6i.2xlarge", + "r6i.32xlarge", + "r6i.4xlarge", + "r6i.8xlarge", + "r6i.large", + "r6i.metal", + "r6i.xlarge", + "r6id.12xlarge", + "r6id.16xlarge", + "r6id.24xlarge", + "r6id.2xlarge", + "r6id.32xlarge", + "r6id.4xlarge", + "r6id.8xlarge", + "r6id.large", + "r6id.metal", + "r6id.xlarge", + "r6idn.12xlarge", + "r6idn.16xlarge", + "r6idn.24xlarge", + "r6idn.2xlarge", + "r6idn.32xlarge", + "r6idn.4xlarge", + "r6idn.8xlarge", + "r6idn.large", + "r6idn.metal", + "r6idn.xlarge", + "r6in.12xlarge", + "r6in.16xlarge", + "r6in.24xlarge", + "r6in.2xlarge", + "r6in.32xlarge", + "r6in.4xlarge", + "r6in.8xlarge", + "r6in.large", + "r6in.metal", + "r6in.xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.2xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.large", + "r7a.medium", + "r7a.metal-48xl", + "r7a.xlarge", + "r7g.12xlarge", + "r7g.16xlarge", + "r7g.2xlarge", + "r7g.4xlarge", + "r7g.8xlarge", + "r7g.large", + "r7g.medium", + "r7g.metal", + "r7g.xlarge", + "r7gd.12xlarge", + "r7gd.16xlarge", + "r7gd.2xlarge", + "r7gd.4xlarge", + "r7gd.8xlarge", + "r7gd.large", + "r7gd.medium", + "r7gd.metal", + "r7gd.xlarge", + "r7i.12xlarge", + "r7i.16xlarge", + "r7i.24xlarge", + "r7i.2xlarge", + "r7i.48xlarge", + "r7i.4xlarge", + "r7i.8xlarge", + "r7i.large", + "r7i.metal-24xl", + "r7i.metal-48xl", + "r7i.xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.2xlarge", + "r7iz.32xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.large", + "r7iz.metal-16xl", + "r7iz.metal-32xl", + "r7iz.xlarge", + "r8g.12xlarge", + "r8g.16xlarge", + "r8g.24xlarge", + "r8g.2xlarge", + "r8g.48xlarge", + "r8g.4xlarge", + "r8g.8xlarge", + "r8g.large", + "r8g.medium", + "r8g.metal-24xl", + "r8g.metal-48xl", + "r8g.xlarge", + "t1.micro", + "t2.2xlarge", + "t2.large", + "t2.medium", + "t2.micro", + "t2.nano", + "t2.small", + "t2.xlarge", + "t3.2xlarge", + "t3.large", + "t3.medium", + "t3.micro", + "t3.nano", + "t3.small", + "t3.xlarge", + "t3a.2xlarge", + "t3a.large", + "t3a.medium", + "t3a.micro", + "t3a.nano", + "t3a.small", + "t3a.xlarge", + "t4g.2xlarge", + "t4g.large", + "t4g.medium", + "t4g.micro", + "t4g.nano", + "t4g.small", + "t4g.xlarge", + "trn1.2xlarge", + "trn1.32xlarge", + "trn1n.32xlarge", + "u-12tb1.112xlarge", + "u-12tb1.metal", + "u-18tb1.112xlarge", + "u-18tb1.metal", + "u-24tb1.112xlarge", + "u-24tb1.metal", + "u-3tb1.56xlarge", + "u-6tb1.112xlarge", + "u-6tb1.56xlarge", + "u-6tb1.metal", + "u-9tb1.112xlarge", + "u-9tb1.metal", + "u7i-12tb.224xlarge", + "u7ib-12tb.224xlarge", + "u7in-16tb.224xlarge", + "u7in-24tb.224xlarge", + "u7in-32tb.224xlarge", + "vt1.24xlarge", + "vt1.3xlarge", + "vt1.6xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.16xlarge", + "x1e.2xlarge", + "x1e.32xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.xlarge", + "x2gd.12xlarge", + "x2gd.16xlarge", + "x2gd.2xlarge", + "x2gd.4xlarge", + "x2gd.8xlarge", + "x2gd.large", + "x2gd.medium", + "x2gd.metal", + "x2gd.xlarge", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2idn.metal", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.2xlarge", + "x2iedn.32xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.metal", + "x2iedn.xlarge", + "x2iezn.12xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.metal", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.2xlarge", + "x8g.48xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.large", + "x8g.medium", + "x8g.metal-24xl", + "x8g.metal-48xl", + "x8g.xlarge", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "MaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "prioritized" + ], + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "integer" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "lowestPrice", + "diversified", + "capacityOptimized", + "capacity-optimized", + "capacityOptimizedPrioritized", + "capacity-optimized-prioritized", + "priceCapacityOptimized", + "price-capacity-optimized" + ], + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "integer" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "SpotTargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TotalTargetCapacity": { + "type": "integer" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FleetId" + ], + "properties": { + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "termination", + "no-termination" + ], + "type": "string" + }, + "FleetId": { + "type": "string" + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": false + }, + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "type": "array", + "uniqueItems": false + }, + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request", + "instant" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/FleetId" + ], + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], + "typeName": "AWS::EC2::EC2Fleet" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-spotfleet.json new file mode 100644 index 0000000000..b92bf8572f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-spotfleet.json @@ -0,0 +1,993 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/AllocationStrategy", + "/properties/SpotFleetRequestConfigData/IamFleetRole", + "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", + "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", + "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", + "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", + "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", + "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", + "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", + "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/SpotPrice", + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", + "/properties/SpotFleetRequestConfigData/Type", + "/properties/SpotFleetRequestConfigData/ValidFrom", + "/properties/SpotFleetRequestConfigData/ValidUntil" + ], + "definitions": { + "AcceleratorCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "AcceleratorTotalMemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "BaselinePerformanceFactorsRequest": { + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "type": "object" + }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$", + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "requiredXor": [ + "VirtualName", + "Ebs", + "NoDevice" + ], + "type": "object" + }, + "ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/ClassicLoadBalancer" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "CpuPerformanceFactorRequest": { + "additionalProperties": false, + "properties": { + "References": { + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, + "FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "maxLength": 128, + "minLength": 3, + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "GroupIdentifier": { + "additionalProperties": false, + "format": "AWS::EC2::SecurityGroup.GroupId", + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "integer" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Ipv6AddressCount": { + "type": "integer" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "type": "array", + "uniqueItems": true + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "SecondaryPrivateIpAddressCount": { + "type": "integer" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + } + }, + "type": "object" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "properties": { + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "AcceleratorManufacturers": { + "items": { + "enum": [ + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorNames": { + "items": { + "enum": [ + "a10g", + "a100", + "h100", + "inferentia", + "k520", + "k80", + "m60", + "radeon-pro-v520", + "t4", + "t4g", + "vu9p", + "v100" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AcceleratorTotalMemoryMiB": { + "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "AcceleratorTypes": { + "items": { + "enum": [ + "gpu", + "fpga", + "inference" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "AllowedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "BareMetal": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, + "BurstablePerformance": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "CpuManufacturers": { + "items": { + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ExcludedInstanceTypes": { + "items": { + "maxLength": 30, + "minLength": 1, + "pattern": "[a-zA-Z0-9\\.\\*]+", + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "InstanceGenerations": { + "items": { + "enum": [ + "current", + "previous" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "LocalStorage": { + "enum": [ + "included", + "required", + "excluded" + ], + "type": "string" + }, + "LocalStorageTypes": { + "items": { + "enum": [ + "hdd", + "ssd" + ], + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer" + }, + "MemoryGiBPerVCpu": { + "$ref": "#/definitions/MemoryGiBPerVCpuRequest" + }, + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" + }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "RequireHibernateSupport": { + "type": "boolean" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer" + }, + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" + }, + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + } + }, + "type": "object" + }, + "LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/TargetGroupsConfig" + } + }, + "type": "object" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "MemoryMiBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + }, + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string" + } + }, + "type": "object" + }, + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "enum": [ + "launch", + "launch-before-terminate" + ], + "type": "string" + }, + "TerminationDelay": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/BlockDeviceMapping" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "default": false, + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/IamInstanceProfileSpecification" + }, + "ImageId": { + "format": "AWS::EC2::Image.Id", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "Placement": { + "$ref": "#/definitions/SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "$ref": "#/definitions/GroupIdentifier" + }, + "type": "array", + "uniqueItems": true + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "format": "AWS::EC2::Subnet.Id", + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId" + ], + "type": "object" + }, + "SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "default": false, + "type": "boolean" + } + }, + "type": "object" + }, + "SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "capacityOptimized", + "capacityOptimizedPrioritized", + "diversified", + "lowestPrice", + "priceCapacityOptimized" + ], + "type": "string" + }, + "Context": { + "type": "string" + }, + "ExcessCapacityTerminationPolicy": { + "enum": [ + "Default", + "NoTermination", + "default", + "noTermination" + ], + "type": "string" + }, + "IamFleetRole": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "integer" + }, + "LaunchSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetLaunchSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchTemplateConfigs": { + "items": { + "$ref": "#/definitions/LaunchTemplateConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/LoadBalancersConfig" + }, + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandMaxTotalPrice": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "integer" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "TargetCapacity": { + "type": "integer" + }, + "TargetCapacityUnitType": { + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "type": "string" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "enum": [ + "maintain", + "request" + ], + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "requiredXor": [ + "LaunchSpecifications", + "LaunchTemplateConfigs" + ], + "type": "object" + }, + "SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/SpotCapacityRebalance" + } + }, + "type": "object" + }, + "SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "enum": [ + "dedicated", + "default", + "host" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/TargetGroup" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "number" + }, + "Min": { + "type": "number" + } + }, + "type": "object" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "properties": { + "Max": { + "type": "integer" + }, + "Min": { + "type": "integer" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/SpotFleetRequestConfigData" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "SpotFleetRequestConfigData" + ], + "typeName": "AWS::EC2::SpotFleet", + "writeOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-eventinvokeconfig.json new file mode 100644 index 0000000000..54ec787a7c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-eventinvokeconfig.json @@ -0,0 +1,90 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FunctionName", + "/properties/Qualifier" + ], + "definitions": { + "DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/OnSuccess" + } + }, + "type": "object" + }, + "OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "maxLength": 350, + "minLength": 0, + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "maxLength": 350, + "minLength": 0, + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/FunctionName", + "/properties/Qualifier" + ], + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/DestinationConfig" + }, + "FunctionName": { + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "maximum": 21600, + "minimum": 60, + "type": "integer" + }, + "MaximumRetryAttempts": { + "maximum": 2, + "minimum": 0, + "type": "integer" + }, + "Qualifier": { + "pattern": "^(|[a-zA-Z0-9$_-]{1,129})$", + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Lambda::EventInvokeConfig" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json deleted file mode 100644 index 6a62b38cd3..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineType", - "/properties/Name", - "/properties/KmsKeyId", - "/properties/RoleArn" - ], - "definitions": { - "Definition": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "S3Location": { - "pattern": "^\\S{1,2000}$", - "type": "string" - } - }, - "required": [ - "S3Location" - ], - "title": "S3Location", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 6500, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Content" - ], - "title": "Content", - "type": "object" - } - ] - }, - "EngineType": { - "enum": [ - "microfocus", - "bluage" - ], - "type": "string" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 200, - "minProperties": 0, - "patternProperties": { - "^(?!aws:).+$": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationArn" - ], - "properties": { - "ApplicationArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ApplicationId": { - "pattern": "^\\S{1,80}$", - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/Definition" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "EngineType": { - "$ref": "#/definitions/EngineType" - }, - "KmsKeyId": { - "maxLength": 2048, - "type": "string" - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "RoleArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]|):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/ApplicationArn", - "/properties/ApplicationId" - ], - "required": [ - "Definition", - "EngineType", - "Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::M2::Application", - "writeOnlyProperties": [ - "/properties/Definition" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-quicksight-dataset.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json rename to src/cfnlint/data/schemas/providers/us_gov_west_1/aws-quicksight-dataset.json index ba48a3b834..8e56700955 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-quicksight-dataset.json @@ -763,20 +763,6 @@ ], "type": "object" }, - "PerformanceConfiguration": { - "additionalProperties": false, - "properties": { - "UniqueKeys": { - "items": { - "$ref": "#/definitions/UniqueKey" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, "PhysicalTable": { "additionalProperties": false, "properties": { @@ -1186,25 +1172,6 @@ }, "type": "object" }, - "UniqueKey": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ColumnNames" - ], - "type": "object" - }, "UntagColumnOperation": { "additionalProperties": false, "properties": { @@ -1340,9 +1307,6 @@ }, "type": "array" }, - "PerformanceConfiguration": { - "$ref": "#/definitions/PerformanceConfiguration" - }, "Permissions": { "items": { "$ref": "#/definitions/ResourcePermission" diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json deleted file mode 100644 index 72b2c49945..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBClusterParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBClusterParameterGroupName" - ], - "properties": { - "DBClusterParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array" - } - }, - "propertyTransform": { - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)" - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBClusterParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json deleted file mode 100644 index 8d14cf78b9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBParameterGroupName" - ], - "properties": { - "DBParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)" - }, - "required": [ - "Family", - "Description" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json deleted file mode 100644 index 7229fe5de5..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBSubnetGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "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/us_gov_west_1/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-eventsubscription.json deleted file mode 100644 index 10fa51a2d0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-eventsubscription.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/SubscriptionName" - ], - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" - }, - "required": [ - "SnsTopicArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json deleted file mode 100644 index d0e1e7a6a9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineName", - "/properties/MajorEngineVersion", - "/properties/OptionGroupDescription", - "/properties/OptionGroupName" - ], - "definitions": { - "OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "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" - } - }, - "primaryIdentifier": [ - "/properties/OptionGroupName" - ], - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/OptionGroupName": "$lowercase(OptionGroupName)" - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::OptionGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} 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 162ce8e5a4..b7371c899a 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -127,6 +127,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1016,8 +1017,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1071,12 +1074,14 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1172,7 +1177,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1236,7 +1240,6 @@ "aws-ec2-ipamallocation.json", "aws-ec2-ipampool.json", "aws-ec2-ipampoolcidr.json", - "aws-ec2-ipamresourcediscovery.json", "aws-ec2-ipamresourcediscoveryassociation.json", "aws-ec2-ipamscope.json", "aws-ec2-keypair.json", @@ -1317,6 +1320,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1626,9 +1630,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1834,6 +1836,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "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" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-ipamresourcediscovery.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-ipamresourcediscovery.json new file mode 100644 index 0000000000..f483bb47f0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-ipamresourcediscovery.json @@ -0,0 +1,119 @@ +{ + "additionalProperties": false, + "definitions": { + "IpamOperatingRegion": { + "additionalProperties": false, + "properties": { + "RegionName": { + "type": "string" + } + }, + "required": [ + "RegionName" + ], + "type": "object" + }, + "IpamResourceDiscoveryOrganizationalUnitExclusion": { + "additionalProperties": false, + "properties": { + "OrganizationsEntityPath": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "OrganizationsEntityPath" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/IpamResourceDiscoveryId" + ], + "properties": { + "Description": { + "type": "string" + }, + "IpamResourceDiscoveryArn": { + "type": "string" + }, + "IpamResourceDiscoveryId": { + "type": "string" + }, + "IpamResourceDiscoveryRegion": { + "type": "string" + }, + "IsDefault": { + "type": "boolean" + }, + "OperatingRegions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/IpamOperatingRegion" + }, + "type": "array", + "uniqueItems": true + }, + "OrganizationalUnitExclusions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/IpamResourceDiscoveryOrganizationalUnitExclusion" + }, + "type": "array", + "uniqueItems": true + }, + "OwnerId": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": {}, + "readOnlyProperties": [ + "/properties/IpamResourceDiscoveryId", + "/properties/IpamResourceDiscoveryArn", + "/properties/OwnerId", + "/properties/IpamResourceDiscoveryRegion", + "/properties/IsDefault", + "/properties/State" + ], + "required": [], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::IPAMResourceDiscovery" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 544143d582..1dd90c38cc 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -967,6 +967,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -1014,6 +1017,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1408,8 +1412,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1509,7 +1515,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1686,6 +1694,8 @@ "aws-datazone-environmentprofile.json", "aws-datazone-groupprofile.json", "aws-datazone-project.json", + "aws-datazone-projectmembership.json", + "aws-datazone-subscriptiontarget.json", "aws-datazone-userprofile.json", "aws-dax-cluster.json", "aws-dax-parametergroup.json", @@ -2054,6 +2064,7 @@ "aws-iotanalytics-dataset.json", "aws-iotanalytics-datastore.json", "aws-iotanalytics-pipeline.json", + "aws-iotcoredeviceadvisor-suitedefinition.json", "aws-iotevents-alarmmodel.json", "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", @@ -2310,6 +2321,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2353,6 +2367,7 @@ "aws-qldb-stream.json", "aws-quicksight-analysis.json", "aws-quicksight-dashboard.json", + "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", "aws-quicksight-folder.json", "aws-quicksight-refreshschedule.json", @@ -2364,9 +2379,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json deleted file mode 100644 index 9edc2ab9e6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier", - "/properties/Member" - ], - "definitions": { - "Member": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "UserIdentifier": { - "type": "string" - } - }, - "required": [ - "UserIdentifier" - ], - "title": "UserIdentifier", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "GroupIdentifier": { - "type": "string" - } - }, - "required": [ - "GroupIdentifier" - ], - "title": "GroupIdentifier", - "type": "object" - } - ] - }, - "MemberIdentifierType": { - "enum": [ - "USER_IDENTIFIER", - "GROUP_IDENTIFIER" - ], - "type": "string" - }, - "UserDesignation": { - "enum": [ - "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR", - "PROJECT_CATALOG_VIEWER", - "PROJECT_CATALOG_CONSUMER", - "PROJECT_CATALOG_STEWARD" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier" - ], - "properties": { - "Designation": { - "$ref": "#/definitions/UserDesignation" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Member": { - "$ref": "#/definitions/Member" - }, - "ProjectIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - } - }, - "required": [ - "Designation", - "DomainIdentifier", - "ProjectIdentifier", - "Member" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "taggable": false - }, - "typeName": "AWS::DataZone::ProjectMembership", - "writeOnlyProperties": [ - "/properties/Designation", - "/properties/Member" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json deleted file mode 100644 index 801ae54398..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ], - "definitions": { - "SubscriptionTargetForm": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "FormName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", - "type": "string" - } - }, - "required": [ - "Content", - "FormName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id" - ], - "properties": { - "ApplicableAssetTypes": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^\\.]*", - "type": "string" - }, - "type": "array" - }, - "AuthorizedPrincipals": { - "insertionOrder": false, - "items": { - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "type": "array" - }, - "CreatedAt": { - "format": "date-time", - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "DomainId": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Id": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "ManageAccessRole": { - "pattern": "^arn:aws(|-cn|-us-gov):iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "ProjectId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SubscriptionTargetConfig": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubscriptionTargetForm" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UpdatedAt": { - "format": "date-time", - "type": "string" - }, - "UpdatedBy": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/CreatedAt", - "/properties/CreatedBy", - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id", - "/properties/ProjectId", - "/properties/UpdatedAt", - "/properties/UpdatedBy" - ], - "required": [ - "ApplicableAssetTypes", - "AuthorizedPrincipals", - "DomainIdentifier", - "EnvironmentIdentifier", - "Name", - "SubscriptionTargetConfig", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::DataZone::SubscriptionTarget", - "writeOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json index 069e16e3c5..740e9f1a84 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json @@ -31,6 +31,22 @@ } }, "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" } }, "primaryIdentifier": [ @@ -143,6 +159,14 @@ "type": "array", "uniqueItems": true }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, "VpcEndpointType": { "enum": [ "Interface", @@ -169,9 +193,10 @@ ], "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true }, "typeName": "AWS::EC2::VPCEndpoint" } diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json deleted file mode 100644 index 9f370d1035..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "DevicePermissionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "DeviceUnderTest": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "ThingArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - } - }, - "type": "object" - }, - "Devices": { - "items": { - "$ref": "#/definitions/DeviceUnderTest" - }, - "maxItems": 2, - "minItems": 0, - "type": "array" - }, - "IntendedForQualification": { - "type": "boolean" - }, - "RootGroup": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "SuiteDefinitionName": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/SuiteDefinitionId" - ], - "properties": { - "SuiteDefinitionArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "SuiteDefinitionConfiguration": { - "additionalProperties": false, - "properties": { - "DevicePermissionRoleArn": { - "$ref": "#/definitions/DevicePermissionRoleArn" - }, - "Devices": { - "$ref": "#/definitions/Devices" - }, - "IntendedForQualification": { - "$ref": "#/definitions/IntendedForQualification" - }, - "RootGroup": { - "$ref": "#/definitions/RootGroup" - }, - "SuiteDefinitionName": { - "$ref": "#/definitions/SuiteDefinitionName" - } - }, - "required": [ - "DevicePermissionRoleArn", - "RootGroup" - ], - "type": "object" - }, - "SuiteDefinitionId": { - "maxLength": 36, - "minLength": 12, - "type": "string" - }, - "SuiteDefinitionVersion": { - "maxLength": 255, - "minLength": 2, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/SuiteDefinitionId", - "/properties/SuiteDefinitionArn", - "/properties/SuiteDefinitionVersion" - ], - "required": [ - "SuiteDefinitionConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-device-advisor.git", - "typeName": "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-custompermissions.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..0b8ef8a803 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-custompermissions.json @@ -0,0 +1,139 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "definitions": { + "Capabilities": { + "additionalProperties": false, + "properties": { + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + } + }, + "type": "object" + }, + "CapabilityState": { + "enum": [ + "DENY" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9+=,.@_-]+$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::QuickSight::CustomPermissions" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json deleted file mode 100644 index ba48a3b834..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json +++ /dev/null @@ -1,1392 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AwsAccountId", - "/properties/DataSetId" - ], - "definitions": { - "CalculatedColumn": { - "additionalProperties": false, - "properties": { - "ColumnId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "Expression": { - "maxLength": 250000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ColumnId", - "ColumnName", - "Expression" - ], - "type": "object" - }, - "CastColumnTypeOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "Format": { - "maxLength": 32, - "minLength": 0, - "type": "string" - }, - "NewColumnType": { - "$ref": "#/definitions/ColumnDataType" - }, - "SubType": { - "$ref": "#/definitions/ColumnDataSubType" - } - }, - "required": [ - "ColumnName", - "NewColumnType" - ], - "type": "object" - }, - "ColumnDataSubType": { - "enum": [ - "FLOAT", - "FIXED" - ], - "type": "string" - }, - "ColumnDataType": { - "enum": [ - "STRING", - "INTEGER", - "DECIMAL", - "DATETIME" - ], - "type": "string" - }, - "ColumnDescription": { - "additionalProperties": false, - "properties": { - "Text": { - "maxLength": 500, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "ColumnGroup": { - "additionalProperties": false, - "properties": { - "GeoSpatialColumnGroup": { - "$ref": "#/definitions/GeoSpatialColumnGroup" - } - }, - "type": "object" - }, - "ColumnLevelPermissionRule": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "ColumnTag": { - "additionalProperties": false, - "properties": { - "ColumnDescription": { - "$ref": "#/definitions/ColumnDescription" - }, - "ColumnGeographicRole": { - "$ref": "#/definitions/GeoSpatialDataRole" - } - }, - "type": "object" - }, - "ColumnTagName": { - "enum": [ - "COLUMN_GEOGRAPHIC_ROLE", - "COLUMN_DESCRIPTION" - ], - "type": "string" - }, - "CreateColumnsOperation": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/CalculatedColumn" - }, - "maxItems": 128, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "CustomSql": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "DataSourceArn": { - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "SqlQuery": { - "maxLength": 168000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "Name", - "SqlQuery" - ], - "type": "object" - }, - "DataSetImportMode": { - "enum": [ - "SPICE", - "DIRECT_QUERY" - ], - "type": "string" - }, - "DataSetRefreshProperties": { - "additionalProperties": false, - "properties": { - "RefreshConfiguration": { - "$ref": "#/definitions/RefreshConfiguration" - } - }, - "type": "object" - }, - "DataSetUsageConfiguration": { - "additionalProperties": false, - "properties": { - "DisableUseAsDirectQuerySource": { - "default": false, - "type": "boolean" - }, - "DisableUseAsImportedSource": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "DatasetParameter": { - "additionalProperties": false, - "properties": { - "DateTimeDatasetParameter": { - "$ref": "#/definitions/DateTimeDatasetParameter" - }, - "DecimalDatasetParameter": { - "$ref": "#/definitions/DecimalDatasetParameter" - }, - "IntegerDatasetParameter": { - "$ref": "#/definitions/IntegerDatasetParameter" - }, - "StringDatasetParameter": { - "$ref": "#/definitions/StringDatasetParameter" - } - }, - "type": "object" - }, - "DatasetParameterValueType": { - "enum": [ - "MULTI_VALUED", - "SINGLE_VALUED" - ], - "type": "string" - }, - "DateTimeDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/DateTimeDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "TimeGranularity": { - "$ref": "#/definitions/TimeGranularity" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "DateTimeDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "DecimalDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/DecimalDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "DecimalDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "FieldFolder": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "maxItems": 5000, - "minItems": 0, - "type": "array" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "FieldFolderMap": { - "additionalProperties": false, - "patternProperties": { - ".+": { - "$ref": "#/definitions/FieldFolder" - } - }, - "type": "object" - }, - "FileFormat": { - "enum": [ - "CSV", - "TSV", - "CLF", - "ELF", - "XLSX", - "JSON" - ], - "type": "string" - }, - "FilterOperation": { - "additionalProperties": false, - "properties": { - "ConditionExpression": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ConditionExpression" - ], - "type": "object" - }, - "GeoSpatialColumnGroup": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "CountryCode": { - "$ref": "#/definitions/GeoSpatialCountryCode" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Columns", - "Name" - ], - "type": "object" - }, - "GeoSpatialCountryCode": { - "enum": [ - "US" - ], - "type": "string" - }, - "GeoSpatialDataRole": { - "enum": [ - "COUNTRY", - "STATE", - "COUNTY", - "CITY", - "POSTCODE", - "LONGITUDE", - "LATITUDE", - "POLITICAL1", - "CENSUS_TRACT", - "CENSUS_BLOCK_GROUP", - "CENSUS_BLOCK" - ], - "type": "string" - }, - "IncrementalRefresh": { - "additionalProperties": false, - "properties": { - "LookbackWindow": { - "$ref": "#/definitions/LookbackWindow" - } - }, - "required": [ - "LookbackWindow" - ], - "type": "object" - }, - "IngestionWaitPolicy": { - "additionalProperties": false, - "properties": { - "IngestionWaitTimeInHours": { - "default": 36, - "maximum": 36, - "minimum": 1, - "type": "number" - }, - "WaitForSpiceIngestion": { - "default": true, - "type": "boolean" - } - }, - "type": "object" - }, - "InputColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "SubType": { - "$ref": "#/definitions/ColumnDataSubType" - }, - "Type": { - "$ref": "#/definitions/InputColumnDataType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "InputColumnDataType": { - "enum": [ - "STRING", - "INTEGER", - "DECIMAL", - "DATETIME", - "BIT", - "BOOLEAN", - "JSON" - ], - "type": "string" - }, - "IntegerDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/IntegerDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "IntegerDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "JoinInstruction": { - "additionalProperties": false, - "properties": { - "LeftJoinKeyProperties": { - "$ref": "#/definitions/JoinKeyProperties" - }, - "LeftOperand": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9a-zA-Z-]*$", - "type": "string" - }, - "OnClause": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "RightJoinKeyProperties": { - "$ref": "#/definitions/JoinKeyProperties" - }, - "RightOperand": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9a-zA-Z-]*$", - "type": "string" - }, - "Type": { - "$ref": "#/definitions/JoinType" - } - }, - "required": [ - "LeftOperand", - "OnClause", - "RightOperand", - "Type" - ], - "type": "object" - }, - "JoinKeyProperties": { - "additionalProperties": false, - "properties": { - "UniqueKey": { - "type": "boolean" - } - }, - "type": "object" - }, - "JoinType": { - "enum": [ - "INNER", - "OUTER", - "LEFT", - "RIGHT" - ], - "type": "string" - }, - "LogicalTable": { - "additionalProperties": false, - "properties": { - "Alias": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "DataTransforms": { - "items": { - "$ref": "#/definitions/TransformOperation" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "Source": { - "$ref": "#/definitions/LogicalTableSource" - } - }, - "required": [ - "Alias" - ], - "type": "object" - }, - "LogicalTableMap": { - "additionalProperties": false, - "maxProperties": 64, - "minProperties": 1, - "patternProperties": { - "^[0-9a-zA-Z-]*$": { - "$ref": "#/definitions/LogicalTable" - } - }, - "type": "object" - }, - "LogicalTableSource": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "JoinInstruction": { - "$ref": "#/definitions/JoinInstruction" - }, - "PhysicalTableId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9a-zA-Z-]*$", - "type": "string" - } - }, - "type": "object" - }, - "LookbackWindow": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Size": { - "default": 0, - "minimum": 1, - "type": "number" - }, - "SizeUnit": { - "$ref": "#/definitions/LookbackWindowSizeUnit" - } - }, - "required": [ - "ColumnName", - "Size", - "SizeUnit" - ], - "type": "object" - }, - "LookbackWindowSizeUnit": { - "enum": [ - "HOUR", - "DAY", - "WEEK" - ], - "type": "string" - }, - "NewDefaultValues": { - "additionalProperties": false, - "properties": { - "DateTimeStaticValues": { - "items": { - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "DecimalStaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "IntegerStaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "StringStaticValues": { - "items": { - "maxLength": 512, - "minLength": 0, - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "OutputColumn": { - "additionalProperties": false, - "properties": { - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "SubType": { - "$ref": "#/definitions/ColumnDataSubType" - }, - "Type": { - "$ref": "#/definitions/ColumnDataType" - } - }, - "type": "object" - }, - "OverrideDatasetParameterOperation": { - "additionalProperties": false, - "properties": { - "NewDefaultValues": { - "$ref": "#/definitions/NewDefaultValues" - }, - "NewParameterName": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ParameterName": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - } - }, - "required": [ - "ParameterName" - ], - "type": "object" - }, - "PerformanceConfiguration": { - "additionalProperties": false, - "properties": { - "UniqueKeys": { - "items": { - "$ref": "#/definitions/UniqueKey" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "PhysicalTable": { - "additionalProperties": false, - "properties": { - "CustomSql": { - "$ref": "#/definitions/CustomSql" - }, - "RelationalTable": { - "$ref": "#/definitions/RelationalTable" - }, - "S3Source": { - "$ref": "#/definitions/S3Source" - } - }, - "type": "object" - }, - "PhysicalTableMap": { - "additionalProperties": false, - "maxProperties": 32, - "minProperties": 0, - "patternProperties": { - "^[0-9a-zA-Z-]*$": { - "$ref": "#/definitions/PhysicalTable" - } - }, - "type": "object" - }, - "ProjectOperation": { - "additionalProperties": false, - "properties": { - "ProjectedColumns": { - "items": { - "type": "string" - }, - "maxItems": 2000, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ProjectedColumns" - ], - "type": "object" - }, - "RefreshConfiguration": { - "additionalProperties": false, - "properties": { - "IncrementalRefresh": { - "$ref": "#/definitions/IncrementalRefresh" - } - }, - "required": [ - "IncrementalRefresh" - ], - "type": "object" - }, - "RelationalTable": { - "additionalProperties": false, - "properties": { - "Catalog": { - "maxLength": 256, - "minLength": 0, - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Schema": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "Name" - ], - "type": "object" - }, - "RenameColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "NewColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnName" - ], - "type": "object" - }, - "ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "maxItems": 20, - "minItems": 1, - "type": "array" - }, - "Principal": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "RowLevelPermissionDataSet": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FormatVersion": { - "$ref": "#/definitions/RowLevelPermissionFormatVersion" - }, - "Namespace": { - "maxLength": 64, - "minLength": 0, - "pattern": "^[a-zA-Z0-9._-]*$", - "type": "string" - }, - "PermissionPolicy": { - "$ref": "#/definitions/RowLevelPermissionPolicy" - }, - "Status": { - "$ref": "#/definitions/Status" - } - }, - "required": [ - "Arn", - "PermissionPolicy" - ], - "type": "object" - }, - "RowLevelPermissionFormatVersion": { - "enum": [ - "VERSION_1", - "VERSION_2" - ], - "type": "string" - }, - "RowLevelPermissionPolicy": { - "enum": [ - "GRANT_ACCESS", - "DENY_ACCESS" - ], - "type": "string" - }, - "RowLevelPermissionTagConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "$ref": "#/definitions/Status" - }, - "TagRuleConfigurations": { - "items": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TagRules": { - "items": { - "$ref": "#/definitions/RowLevelPermissionTagRule" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "TagRules" - ], - "type": "object" - }, - "RowLevelPermissionTagRule": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "MatchAllValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "TagKey": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "TagMultiValueDelimiter": { - "maxLength": 10, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "ColumnName", - "TagKey" - ], - "type": "object" - }, - "S3Source": { - "additionalProperties": false, - "properties": { - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "UploadSettings": { - "$ref": "#/definitions/UploadSettings" - } - }, - "required": [ - "DataSourceArn", - "InputColumns" - ], - "type": "object" - }, - "Status": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StringDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/StringDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "StringDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "maxLength": 512, - "minLength": 0, - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "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" - }, - "TagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/ColumnTag" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ColumnName", - "Tags" - ], - "type": "object" - }, - "TextQualifier": { - "enum": [ - "DOUBLE_QUOTE", - "SINGLE_QUOTE" - ], - "type": "string" - }, - "TimeGranularity": { - "enum": [ - "YEAR", - "QUARTER", - "MONTH", - "WEEK", - "DAY", - "HOUR", - "MINUTE", - "SECOND", - "MILLISECOND" - ], - "type": "string" - }, - "TransformOperation": { - "additionalProperties": false, - "properties": { - "CastColumnTypeOperation": { - "$ref": "#/definitions/CastColumnTypeOperation" - }, - "CreateColumnsOperation": { - "$ref": "#/definitions/CreateColumnsOperation" - }, - "FilterOperation": { - "$ref": "#/definitions/FilterOperation" - }, - "OverrideDatasetParameterOperation": { - "$ref": "#/definitions/OverrideDatasetParameterOperation" - }, - "ProjectOperation": { - "$ref": "#/definitions/ProjectOperation" - }, - "RenameColumnOperation": { - "$ref": "#/definitions/RenameColumnOperation" - }, - "TagColumnOperation": { - "$ref": "#/definitions/TagColumnOperation" - }, - "UntagColumnOperation": { - "$ref": "#/definitions/UntagColumnOperation" - } - }, - "type": "object" - }, - "UniqueKey": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ColumnNames" - ], - "type": "object" - }, - "UntagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "TagNames": { - "items": { - "$ref": "#/definitions/ColumnTagName" - }, - "type": "array" - } - }, - "required": [ - "ColumnName", - "TagNames" - ], - "type": "object" - }, - "UploadSettings": { - "additionalProperties": false, - "properties": { - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "maxLength": 1, - "minLength": 1, - "type": "string" - }, - "Format": { - "$ref": "#/definitions/FileFormat" - }, - "StartFromRow": { - "minimum": 1, - "type": "number" - }, - "TextQualifier": { - "$ref": "#/definitions/TextQualifier" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AwsAccountId", - "/properties/DataSetId" - ], - "properties": { - "Arn": { - "type": "string" - }, - "AwsAccountId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "ColumnGroups": { - "items": { - "$ref": "#/definitions/ColumnGroup" - }, - "maxItems": 8, - "minItems": 1, - "type": "array" - }, - "ColumnLevelPermissionRules": { - "items": { - "$ref": "#/definitions/ColumnLevelPermissionRule" - }, - "minItems": 1, - "type": "array" - }, - "ConsumedSpiceCapacityInBytes": { - "default": 0, - "type": "number" - }, - "CreatedTime": { - "format": "string", - "type": "string" - }, - "DataSetId": { - "type": "string" - }, - "DataSetRefreshProperties": { - "$ref": "#/definitions/DataSetRefreshProperties" - }, - "DataSetUsageConfiguration": { - "$ref": "#/definitions/DataSetUsageConfiguration" - }, - "DatasetParameters": { - "items": { - "$ref": "#/definitions/DatasetParameter" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "FieldFolders": { - "$ref": "#/definitions/FieldFolderMap" - }, - "FolderArns": { - "items": { - "type": "string" - }, - "maxItems": 10, - "minItems": 0, - "type": "array" - }, - "ImportMode": { - "$ref": "#/definitions/DataSetImportMode" - }, - "IngestionWaitPolicy": { - "$ref": "#/definitions/IngestionWaitPolicy" - }, - "LastUpdatedTime": { - "format": "string", - "type": "string" - }, - "LogicalTableMap": { - "$ref": "#/definitions/LogicalTableMap" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "OutputColumns": { - "items": { - "$ref": "#/definitions/OutputColumn" - }, - "type": "array" - }, - "PerformanceConfiguration": { - "$ref": "#/definitions/PerformanceConfiguration" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/ResourcePermission" - }, - "maxItems": 64, - "minItems": 1, - "type": "array" - }, - "PhysicalTableMap": { - "$ref": "#/definitions/PhysicalTableMap" - }, - "RowLevelPermissionDataSet": { - "$ref": "#/definitions/RowLevelPermissionDataSet" - }, - "RowLevelPermissionTagConfiguration": { - "$ref": "#/definitions/RowLevelPermissionTagConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 1, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ConsumedSpiceCapacityInBytes", - "/properties/CreatedTime", - "/properties/LastUpdatedTime", - "/properties/OutputColumns" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::QuickSight::DataSet", - "writeOnlyProperties": [ - "/properties/FieldFolders", - "/properties/IngestionWaitPolicy", - "/properties/FolderArns" - ] -} 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..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "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": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/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": { + "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" + ], + "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": { + "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": { + "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": { + "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": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "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": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "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": { + "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:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +}