diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ssm-resourcedatasync.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ssm-resourcedatasync.json index 4ca9deebb1..3a9d119fb6 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ssm-resourcedatasync.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ssm-resourcedatasync.json @@ -46,6 +46,9 @@ "type": "string" }, "SyncFormat": { + "enum": [ + "JsonSerDe" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ssm-resourcedatasync.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ssm-resourcedatasync.json index ec87640906..c3bbb7edbe 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ssm-resourcedatasync.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ssm-resourcedatasync.json @@ -56,6 +56,9 @@ "type": "string" }, "SyncFormat": { + "enum": [ + "JsonSerDe" + ], "maxLength": 1024, "minLength": 1, "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iotsitewise-portal.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iotsitewise-portal.json index 68f42ea09d..8f5a9706e1 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iotsitewise-portal.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iotsitewise-portal.json @@ -34,9 +34,11 @@ "additionalProperties": false, "properties": { "AlarmRoleArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" }, "NotificationLambdaArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ssm-resourcedatasync.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ssm-resourcedatasync.json index 4ca9deebb1..3a9d119fb6 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ssm-resourcedatasync.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ssm-resourcedatasync.json @@ -46,6 +46,9 @@ "type": "string" }, "SyncFormat": { + "enum": [ + "JsonSerDe" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-appsync-datasource.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-appsync-datasource.json index 06c91688b2..465e8de1f5 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-appsync-datasource.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-appsync-datasource.json @@ -9,6 +9,9 @@ "additionalProperties": false, "properties": { "AuthorizationType": { + "enum": [ + "AWS_IAM" + ], "type": "string" }, "AwsIamConfig": { @@ -181,6 +184,9 @@ "$ref": "#/definitions/RdsHttpEndpointConfig" }, "RelationalDatabaseSourceType": { + "enum": [ + "RDS_HTTP_ENDPOINT" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-launchconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-launchconfiguration.json index 33366dff06..944f5608ad 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-launchconfiguration.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-launchconfiguration.json @@ -88,12 +88,20 @@ "additionalProperties": false, "properties": { "HttpEndpoint": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpTokens": { + "enum": [ + "optional", + "required" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-scalingpolicy.json index 3ec51d0018..f9f928f78e 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-autoscaling-scalingpolicy.json @@ -145,6 +145,10 @@ "additionalProperties": false, "properties": { "MaxCapacityBreachBehavior": { + "enum": [ + "HonorMaxCapacity", + "IncreaseMaxCapacity" + ], "type": "string" }, "MaxCapacityBuffer": { @@ -158,6 +162,10 @@ "uniqueItems": true }, "Mode": { + "enum": [ + "ForecastAndScale", + "ForecastOnly" + ], "type": "string" }, "SchedulingBufferTime": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-applicationautoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-applicationautoscaling-scalingpolicy.json index e04d931f21..e33ce82e03 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-applicationautoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-applicationautoscaling-scalingpolicy.json @@ -32,6 +32,13 @@ "type": "string" }, "Statistic": { + "enum": [ + "Average", + "Maximum", + "Minimum", + "SampleCount", + "Sum" + ], "type": "string" }, "Unit": { @@ -122,12 +129,22 @@ "additionalProperties": false, "properties": { "AdjustmentType": { + "enum": [ + "ChangeInCapacity", + "ExactCapacity", + "PercentChangeInCapacity" + ], "type": "string" }, "Cooldown": { "type": "integer" }, "MetricAggregationType": { + "enum": [ + "Average", + "Maximum", + "Minimum" + ], "type": "string" }, "MinAdjustmentMagnitude": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-launchconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-launchconfiguration.json index 33366dff06..944f5608ad 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-launchconfiguration.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-launchconfiguration.json @@ -88,12 +88,20 @@ "additionalProperties": false, "properties": { "HttpEndpoint": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpTokens": { + "enum": [ + "optional", + "required" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-scalingpolicy.json index 3ec51d0018..f9f928f78e 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-autoscaling-scalingpolicy.json @@ -145,6 +145,10 @@ "additionalProperties": false, "properties": { "MaxCapacityBreachBehavior": { + "enum": [ + "HonorMaxCapacity", + "IncreaseMaxCapacity" + ], "type": "string" }, "MaxCapacityBuffer": { @@ -158,6 +162,10 @@ "uniqueItems": true }, "Mode": { + "enum": [ + "ForecastAndScale", + "ForecastOnly" + ], "type": "string" }, "SchedulingBufferTime": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-codedeploy-deploymentconfig.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-codedeploy-deploymentconfig.json index 97c0a017a7..5643a4cc13 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-codedeploy-deploymentconfig.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-codedeploy-deploymentconfig.json @@ -69,6 +69,11 @@ "$ref": "#/definitions/TimeBasedLinear" }, "Type": { + "enum": [ + "AllAtOnce", + "TimeBasedCanary", + "TimeBasedLinear" + ], "type": "string" } }, 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 index ba7baa1de3..d49394eae0 100644 --- 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 @@ -169,6 +169,16 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enum": [ + "awsfirelens", + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json index e04d931f21..e33ce82e03 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json @@ -32,6 +32,13 @@ "type": "string" }, "Statistic": { + "enum": [ + "Average", + "Maximum", + "Minimum", + "SampleCount", + "Sum" + ], "type": "string" }, "Unit": { @@ -122,12 +129,22 @@ "additionalProperties": false, "properties": { "AdjustmentType": { + "enum": [ + "ChangeInCapacity", + "ExactCapacity", + "PercentChangeInCapacity" + ], "type": "string" }, "Cooldown": { "type": "integer" }, "MetricAggregationType": { + "enum": [ + "Average", + "Maximum", + "Minimum" + ], "type": "string" }, "MinAdjustmentMagnitude": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-launchconfiguration.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-launchconfiguration.json index 33366dff06..944f5608ad 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-launchconfiguration.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-launchconfiguration.json @@ -88,12 +88,20 @@ "additionalProperties": false, "properties": { "HttpEndpoint": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpTokens": { + "enum": [ + "optional", + "required" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-scalingpolicy.json index 3ec51d0018..f9f928f78e 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-autoscaling-scalingpolicy.json @@ -145,6 +145,10 @@ "additionalProperties": false, "properties": { "MaxCapacityBreachBehavior": { + "enum": [ + "HonorMaxCapacity", + "IncreaseMaxCapacity" + ], "type": "string" }, "MaxCapacityBuffer": { @@ -158,6 +162,10 @@ "uniqueItems": true }, "Mode": { + "enum": [ + "ForecastAndScale", + "ForecastOnly" + ], "type": "string" }, "SchedulingBufferTime": { 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 index ba7baa1de3..d49394eae0 100644 --- 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 @@ -169,6 +169,16 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enum": [ + "awsfirelens", + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-portal.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-portal.json index 68f42ea09d..8f5a9706e1 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-portal.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-portal.json @@ -34,9 +34,11 @@ "additionalProperties": false, "properties": { "AlarmRoleArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" }, "NotificationLambdaArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json index fa5a0cde41..8badd3c93f 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-lambda-eventsourcemapping.json @@ -39,11 +39,13 @@ "CollectionName": { "maxLength": 57, "minLength": 1, + "pattern": "(^(?!(system\\x2e)))(^[_a-zA-Z0-9])([^$]*)", "type": "string" }, "DatabaseName": { "maxLength": 63, "minLength": 1, + "pattern": "[^ /\\.$\\x22]*", "type": "string" }, "FullDocument": { diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ssm-resourcedatasync.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ssm-resourcedatasync.json index 4ca9deebb1..3a9d119fb6 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ssm-resourcedatasync.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ssm-resourcedatasync.json @@ -46,6 +46,9 @@ "type": "string" }, "SyncFormat": { + "enum": [ + "JsonSerDe" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-synthetics-canary.json index 39efc725c3..2cdb5bba30 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-synthetics-canary.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-synthetics-canary.json @@ -47,6 +47,7 @@ ], "properties": { "Handler": { + "pattern": "^([0-9a-zA-Z_-]+\\/)*[0-9A-Za-z_\\\\-]+\\.[A-Za-z_][A-Za-z0-9_]*$", "type": "string" }, "S3Bucket": { @@ -98,9 +99,14 @@ "additionalProperties": false, "properties": { "EncryptionMode": { + "enum": [ + "SSE_KMS", + "SSE_S3" + ], "type": "string" }, "KmsKeyArn": { + "pattern": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+", "type": "string" } }, 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 index ba7baa1de3..d49394eae0 100644 --- 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 @@ -169,6 +169,16 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enum": [ + "awsfirelens", + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json index fa5a0cde41..8badd3c93f 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-eventsourcemapping.json @@ -39,11 +39,13 @@ "CollectionName": { "maxLength": 57, "minLength": 1, + "pattern": "(^(?!(system\\x2e)))(^[_a-zA-Z0-9])([^$]*)", "type": "string" }, "DatabaseName": { "maxLength": 63, "minLength": 1, + "pattern": "[^ /\\.$\\x22]*", "type": "string" }, "FullDocument": { diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ssm-resourcedatasync.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ssm-resourcedatasync.json index 4ca9deebb1..3a9d119fb6 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ssm-resourcedatasync.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ssm-resourcedatasync.json @@ -46,6 +46,9 @@ "type": "string" }, "SyncFormat": { + "enum": [ + "JsonSerDe" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-synthetics-canary.json index 39efc725c3..2cdb5bba30 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-synthetics-canary.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-synthetics-canary.json @@ -47,6 +47,7 @@ ], "properties": { "Handler": { + "pattern": "^([0-9a-zA-Z_-]+\\/)*[0-9A-Za-z_\\\\-]+\\.[A-Za-z_][A-Za-z0-9_]*$", "type": "string" }, "S3Bucket": { @@ -98,9 +99,14 @@ "additionalProperties": false, "properties": { "EncryptionMode": { + "enum": [ + "SSE_KMS", + "SSE_S3" + ], "type": "string" }, "KmsKeyArn": { + "pattern": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-autoscaling-autoscalinggroup.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-autoscaling-autoscalinggroup.json index 82e9b574a6..f1eaa50826 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-autoscaling-autoscalinggroup.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-autoscaling-autoscalinggroup.json @@ -258,6 +258,7 @@ "type": "string" }, "LaunchTemplateName": { + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", "type": "string" }, "Version": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-launchtemplate.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-launchtemplate.json index 695f0cffe8..56cddb2f33 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-launchtemplate.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-launchtemplate.json @@ -68,6 +68,10 @@ "additionalProperties": false, "properties": { "CapacityReservationPreference": { + "enum": [ + "none", + "open" + ], "type": "string" }, "CapacityReservationTarget": { @@ -284,12 +288,22 @@ "uniqueItems": false }, "BareMetal": { + "enum": [ + "excluded", + "included", + "required" + ], "type": "string" }, "BaselineEbsBandwidthMbps": { "$ref": "#/definitions/BaselineEbsBandwidthMbps" }, "BurstablePerformance": { + "enum": [ + "excluded", + "included", + "required" + ], "type": "string" }, "CpuManufacturers": { @@ -314,6 +328,11 @@ "uniqueItems": false }, "LocalStorage": { + "enum": [ + "excluded", + "included", + "required" + ], "type": "string" }, "LocalStorageTypes": { @@ -452,6 +471,836 @@ "$ref": "#/definitions/InstanceRequirements" }, "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", + "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", + "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", + "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", + "z1d.12xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.large", + "z1d.metal", + "z1d.xlarge" + ], "type": "string" }, "KernelId": { @@ -567,6 +1416,10 @@ "additionalProperties": false, "properties": { "AutoRecovery": { + "enum": [ + "default", + "disabled" + ], "type": "string" } }, @@ -600,18 +1453,34 @@ "additionalProperties": false, "properties": { "HttpEndpoint": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" }, "HttpProtocolIpv6": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpTokens": { + "enum": [ + "optional", + "required" + ], "type": "string" }, "InstanceMetadataTags": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" } }, @@ -802,6 +1671,10 @@ "type": "boolean" }, "HostnameType": { + "enum": [ + "ip-name", + "resource-name" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { 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 index ba7baa1de3..d49394eae0 100644 --- 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 @@ -169,6 +169,16 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enum": [ + "awsfirelens", + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { 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 index ba7baa1de3..d49394eae0 100644 --- 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 @@ -169,6 +169,16 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enum": [ + "awsfirelens", + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-events-connection.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ssm-resourcedatasync.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ssm-resourcedatasync.json index ec87640906..c3bbb7edbe 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ssm-resourcedatasync.json +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ssm-resourcedatasync.json @@ -56,6 +56,9 @@ "type": "string" }, "SyncFormat": { + "enum": [ + "JsonSerDe" + ], "maxLength": 1024, "minLength": 1, "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-events-connection.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-appsync-datasource.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-appsync-datasource.json index 06c91688b2..465e8de1f5 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-appsync-datasource.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-appsync-datasource.json @@ -9,6 +9,9 @@ "additionalProperties": false, "properties": { "AuthorizationType": { + "enum": [ + "AWS_IAM" + ], "type": "string" }, "AwsIamConfig": { @@ -181,6 +184,9 @@ "$ref": "#/definitions/RdsHttpEndpointConfig" }, "RelationalDatabaseSourceType": { + "enum": [ + "RDS_HTTP_ENDPOINT" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-launchconfiguration.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-launchconfiguration.json index 33366dff06..944f5608ad 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-launchconfiguration.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-launchconfiguration.json @@ -88,12 +88,20 @@ "additionalProperties": false, "properties": { "HttpEndpoint": { + "enum": [ + "disabled", + "enabled" + ], "type": "string" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpTokens": { + "enum": [ + "optional", + "required" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-scalingpolicy.json index 3ec51d0018..f9f928f78e 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-autoscaling-scalingpolicy.json @@ -145,6 +145,10 @@ "additionalProperties": false, "properties": { "MaxCapacityBreachBehavior": { + "enum": [ + "HonorMaxCapacity", + "IncreaseMaxCapacity" + ], "type": "string" }, "MaxCapacityBuffer": { @@ -158,6 +162,10 @@ "uniqueItems": true }, "Mode": { + "enum": [ + "ForecastAndScale", + "ForecastOnly" + ], "type": "string" }, "SchedulingBufferTime": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-cluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-cluster.json index 1487c6b04d..1d57e1494d 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-cluster.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-cluster.json @@ -61,6 +61,11 @@ "$ref": "#/definitions/ExecuteCommandLogConfiguration" }, "Logging": { + "enum": [ + "DEFAULT", + "NONE", + "OVERRIDE" + ], "type": "string" } }, 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 index ba7baa1de3..d49394eae0 100644 --- 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 @@ -169,6 +169,16 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enum": [ + "awsfirelens", + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-topicrule.json index d2ced3f6b6..5c05e7d241 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-topicrule.json @@ -175,6 +175,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -187,6 +191,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -223,6 +231,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -257,6 +266,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -502,6 +512,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-route53-healthcheck.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-route53-healthcheck.json index e45baa386f..4d7ead27d7 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-route53-healthcheck.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-route53-healthcheck.json @@ -8,6 +8,45 @@ "type": "string" }, "Region": { + "enum": [ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ap-southeast-5", + "ca-central-1", + "ca-west-1", + "cn-north-1", + "cn-northwest-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "il-central-1", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-iso-east-1", + "us-iso-west-1", + "us-isob-east-1", + "us-west-1", + "us-west-2" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-events-connection.json index c49843c440..2e965c720c 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkmanager-connectattachment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkmanager-connectattachment.json index bce9f6a99a..9a9c8f582a 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkmanager-connectattachment.json +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-networkmanager-connectattachment.json @@ -11,6 +11,10 @@ "additionalProperties": false, "properties": { "Protocol": { + "enum": [ + "GRE", + "NO_ENCAP" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-acmpca-certificateauthority.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-acmpca-certificateauthority.json index e3dbc21bc5..df6c5c94c4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-acmpca-certificateauthority.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-acmpca-certificateauthority.json @@ -51,6 +51,7 @@ "$ref": "#/definitions/CrlDistributionPointExtensionConfiguration" }, "CustomCname": { + "pattern": "[-a-zA-Z0-9;/?:@&=+$,%_.!~*()']*", "type": "string" }, "Enabled": { @@ -60,9 +61,14 @@ "type": "integer" }, "S3BucketName": { + "pattern": "[-a-zA-Z0-9._/]+", "type": "string" }, "S3ObjectAcl": { + "enum": [ + "BUCKET_OWNER_FULL_CONTROL", + "PUBLIC_READ" + ], "type": "string" } }, @@ -220,6 +226,7 @@ "type": "boolean" }, "OcspCustomCname": { + "pattern": "[-a-zA-Z0-9;/?:@&=+$,%_.!~*()']*", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-app.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-app.json index f1811081c1..b373f2b5c4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-app.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-app.json @@ -19,6 +19,7 @@ "BuildSpec": { "maxLength": 25000, "minLength": 1, + "pattern": "(?s).+", "type": "string" }, "EnableAutoBranchCreation": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-branch.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-branch.json index a9f0d8e95c..88f27c1ec4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-branch.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-amplify-branch.json @@ -11,6 +11,7 @@ "StackArn": { "maxLength": 2048, "minLength": 20, + "pattern": "^arn:aws:cloudformation:[a-z0-9-]+:\\d{12}:stack/.+/.+$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json index 1d4e254a36..cdd8443198 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appflow-connectorprofile.json @@ -155,9 +155,11 @@ "ConnectorOAuthRequest": { "properties": { "AuthCode": { + "pattern": "\\S+", "type": "string" }, "RedirectUri": { + "pattern": "\\S+", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-applicationautoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-applicationautoscaling-scalingpolicy.json index e35e4457a6..6290fce5e4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-applicationautoscaling-scalingpolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-applicationautoscaling-scalingpolicy.json @@ -34,6 +34,13 @@ "type": "string" }, "Statistic": { + "enum": [ + "Average", + "Maximum", + "Minimum", + "SampleCount", + "Sum" + ], "type": "string" }, "Unit": { @@ -124,12 +131,22 @@ "additionalProperties": false, "properties": { "AdjustmentType": { + "enum": [ + "ChangeInCapacity", + "ExactCapacity", + "PercentChangeInCapacity" + ], "type": "string" }, "Cooldown": { "type": "integer" }, "MetricAggregationType": { + "enum": [ + "Average", + "Maximum", + "Minimum" + ], "type": "string" }, "MinAdjustmentMagnitude": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-apprunner-service.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-apprunner-service.json index 73a27aa630..b5e344b11b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-apprunner-service.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-apprunner-service.json @@ -44,6 +44,7 @@ "additionalProperties": false, "properties": { "BuildCommand": { + "pattern": "[^\\x0a\\x0d]+", "type": "string" }, "Port": { @@ -79,6 +80,7 @@ "type": "array" }, "StartCommand": { + "pattern": "[^\\x0a\\x0d]+", "type": "string" } }, @@ -202,6 +204,7 @@ "type": "array" }, "StartCommand": { + "pattern": "[^\\x0a\\x0d]+", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json index 6d56953d74..1b8bbdc7c0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-appblock.json @@ -24,6 +24,7 @@ "additionalProperties": false, "properties": { "S3Bucket": { + "pattern": "^[0-9a-z\\.\\-]*(?;`|&?{}^*/\\n]+){1,4})$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emrcontainers-virtualcluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emrcontainers-virtualcluster.json index 854fc9762e..fadaeade11 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emrcontainers-virtualcluster.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emrcontainers-virtualcluster.json @@ -30,6 +30,9 @@ "$ref": "#/definitions/ContainerInfo" }, "Type": { + "enum": [ + "EKS" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json index 94ba9eaa72..73e0b2a011 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-idmappingworkflow.json @@ -131,6 +131,7 @@ "additionalProperties": false, "properties": { "IntermediateS3Path": { + "pattern": "^s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json index bd0f9ba6e6..7f27c00d8e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-entityresolution-matchingworkflow.json @@ -64,6 +64,7 @@ "additionalProperties": false, "properties": { "IntermediateS3Path": { + "pattern": "^s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?$", "type": "string" } }, @@ -140,6 +141,7 @@ "type": "object" }, "ProviderServiceArn": { + "pattern": "^arn:(aws|aws-us-gov|aws-cn):(entityresolution):([a-z]{2}-[a-z]{1,10}-[0-9])::providerservice/([a-zA-Z0-9_-]{1,255})/([a-zA-Z0-9_-]{1,255})$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-events-connection.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-events-connection.json index 788b760794..a801515fe3 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-events-connection.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-events-connection.json @@ -8,9 +8,11 @@ "additionalProperties": false, "properties": { "ApiKeyName": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ApiKeyValue": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -61,9 +63,11 @@ "additionalProperties": false, "properties": { "Password": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "Username": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -77,9 +81,11 @@ "additionalProperties": false, "properties": { "ClientID": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" }, "ClientSecret": { + "pattern": "^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", "type": "string" } }, @@ -119,6 +125,7 @@ "AuthorizationEndpoint": { "maxLength": 2048, "minLength": 1, + "pattern": "^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$", "type": "string" }, "ClientParameters": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-finspace-environment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-finspace-environment.json index d009cfa18a..19674ebd62 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-finspace-environment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-finspace-environment.json @@ -47,6 +47,7 @@ "type": "string" }, "FederationURN": { + "pattern": "^[A-Za-z0-9._\\-:\\/#\\+]+$", "type": "string" }, "SamlMetadataDocument": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json index 7c562429fb..0f6640adfc 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json @@ -113,6 +113,7 @@ "LogGroupArn": { "maxLength": 2048, "minLength": 20, + "pattern": "[\\S]+", "type": "string" } }, @@ -131,11 +132,13 @@ "BucketName": { "maxLength": 63, "minLength": 3, + "pattern": "[\\S]+", "type": "string" }, "Prefix": { "maxLength": 1024, "minLength": 1, + "pattern": "[\\s\\S]+", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json index 825b6eaa5a..e52c2de726 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-gamelift-gameservergroup.json @@ -155,6 +155,7 @@ "type": "string" }, "LaunchTemplateName": { + "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", "type": "string" }, "MaxSize": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-crawler.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-crawler.json index 9b9032ba9a..821db04f2f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-crawler.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-crawler.json @@ -140,6 +140,11 @@ "additionalProperties": false, "properties": { "RecrawlBehavior": { + "enum": [ + "CRAWL_EVENT_MODE", + "CRAWL_EVERYTHING", + "CRAWL_NEW_FOLDERS_ONLY" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-job.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-job.json index 9a677a4bd7..9a68857daa 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-job.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-glue-job.json @@ -45,6 +45,7 @@ "type": "string" }, "PythonVersion": { + "pattern": "^([2-3]|3[.]9)$", "type": "string" }, "Runtime": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-malwareprotectionplan.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-malwareprotectionplan.json index 305e44a523..399b4cad9e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-malwareprotectionplan.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-guardduty-malwareprotectionplan.json @@ -50,6 +50,10 @@ "additionalProperties": false, "properties": { "Status": { + "enum": [ + "DISABLED", + "ENABLED" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-imagebuilder-imagerecipe.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-imagebuilder-imagerecipe.json index 8abb1e4d7b..af514f8e76 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-imagebuilder-imagerecipe.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-imagebuilder-imagerecipe.json @@ -18,6 +18,7 @@ "$ref": "#/definitions/SystemsManagerAgent" }, "UserDataOverride": { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-domainconfiguration.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-domainconfiguration.json index e271b4e93f..8662a07ec6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-domainconfiguration.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-domainconfiguration.json @@ -29,6 +29,7 @@ "ClientCertificateCallbackArn": { "maxLength": 170, "minLength": 1, + "pattern": "[\\s\\S]*", "type": "string" } }, @@ -86,6 +87,7 @@ "properties": { "SecurityPolicy": { "maxLength": 128, + "pattern": "[\\s\\S]*", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-fleetmetric.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-fleetmetric.json index 986d1b4d9c..cba2a376bb 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-fleetmetric.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-fleetmetric.json @@ -8,6 +8,11 @@ "additionalProperties": false, "properties": { "Name": { + "enum": [ + "Cardinality", + "Percentiles", + "Statistics" + ], "type": "string" }, "Values": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-provisioningtemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-provisioningtemplate.json index d0aed8f694..feb01025b8 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-provisioningtemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-provisioningtemplate.json @@ -9,6 +9,7 @@ "additionalProperties": false, "properties": { "PayloadVersion": { + "pattern": "^[0-9-]+$", "type": "string" }, "TargetArn": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-topicrule.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-topicrule.json index 4b695cb9a9..10d6b95d16 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-topicrule.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-topicrule.json @@ -222,6 +222,10 @@ "type": "string" }, "HashKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "HashKeyValue": { @@ -234,6 +238,10 @@ "type": "string" }, "RangeKeyType": { + "enum": [ + "NUMBER", + "STRING" + ], "type": "string" }, "RangeKeyValue": { @@ -270,6 +278,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -307,6 +316,7 @@ "type": "string" }, "Separator": { + "pattern": "([\\n\\t])|(\\r\\n)|(,)", "type": "string" } }, @@ -546,6 +556,7 @@ "additionalProperties": false, "properties": { "Endpoint": { + "pattern": "https?://.*", "type": "string" }, "Id": { @@ -716,6 +727,10 @@ "additionalProperties": false, "properties": { "MessageFormat": { + "enum": [ + "JSON", + "RAW" + ], "type": "string" }, "RoleArn": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-accesspolicy.json index 8070fb86a4..8f1c683933 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-accesspolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-accesspolicy.json @@ -32,6 +32,7 @@ "additionalProperties": false, "properties": { "arn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" } }, @@ -41,6 +42,7 @@ "additionalProperties": false, "properties": { "arn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" } }, @@ -50,6 +52,7 @@ "additionalProperties": false, "properties": { "id": { + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "type": "string" } }, @@ -59,6 +62,7 @@ "additionalProperties": false, "properties": { "id": { + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "type": "string" } }, @@ -68,6 +72,7 @@ "additionalProperties": false, "properties": { "id": { + "pattern": "\\S+", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-gateway.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-gateway.json index 96dfa8b0cd..beeea11a46 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-gateway.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-gateway.json @@ -61,6 +61,7 @@ "additionalProperties": false, "properties": { "GroupArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" } }, @@ -73,6 +74,7 @@ "additionalProperties": false, "properties": { "CoreDeviceThingName": { + "pattern": "^[a-zA-Z0-9:_-]+$", "type": "string" } }, @@ -85,6 +87,7 @@ "additionalProperties": false, "properties": { "IotCoreThingName": { + "pattern": "^[a-zA-Z0-9:_-]+$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-portal.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-portal.json index 70b03dd9c1..55de94a3c3 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-portal.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotsitewise-portal.json @@ -34,9 +34,11 @@ "additionalProperties": false, "properties": { "AlarmRoleArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" }, "NotificationLambdaArn": { + "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.]+$", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-fuotatask.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-fuotatask.json index 50094758e1..3afe40470f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-fuotatask.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-fuotatask.json @@ -5,6 +5,21 @@ "additionalProperties": false, "properties": { "RfRegion": { + "enum": [ + "AS923-1", + "AS923-2", + "AS923-3", + "AS923-4", + "AU915", + "CN470", + "CN779", + "EU433", + "EU868", + "IN865", + "KR920", + "RU864", + "US915" + ], "maxLength": 64, "minLength": 1, "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-multicastgroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-multicastgroup.json index f80b7e9762..55f6bfe57b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-multicastgroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotwireless-multicastgroup.json @@ -5,6 +5,10 @@ "additionalProperties": false, "properties": { "DlClass": { + "enum": [ + "ClassB", + "ClassC" + ], "maxLength": 64, "minLength": 1, "type": "string" @@ -16,6 +20,21 @@ "type": "integer" }, "RfRegion": { + "enum": [ + "AS923-1", + "AS923-2", + "AS923-3", + "AS923-4", + "AU915", + "CN470", + "CN779", + "EU433", + "EU868", + "IN865", + "KR920", + "RU864", + "US915" + ], "maxLength": 64, "minLength": 1, "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json index 1710bd48a0..3cb6b4001c 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kendra-datasource.json @@ -821,6 +821,7 @@ "LambdaArn": { "maxLength": 2048, "minLength": 1, + "pattern": "/arn:aws[a-zA-Z-]*:lambda:[a-z]+-[a-z]+-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(\\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?/", "type": "string" }, "LanguageCode": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisfirehose-deliverystream.json index d307c5670d..31769c9f71 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisfirehose-deliverystream.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-kinesisfirehose-deliverystream.json @@ -254,6 +254,7 @@ "type": "boolean" }, "LogGroupName": { + "pattern": "[\\.\\-_/#A-Za-z0-9]*", "relationshipRef": { "propertyPath": "/properties/LogGroupName", "typeName": "AWS::Logs::LogGroup" @@ -261,6 +262,7 @@ "type": "string" }, "LogStreamName": { + "pattern": "[^:*]*", "relationshipRef": { "propertyPath": "/properties/LogStreamName", "typeName": "AWS::Logs::LogStream" @@ -680,11 +682,13 @@ "Name": { "maxLength": 256, "minLength": 1, + "pattern": "^(?!\\s*$).+", "type": "string" }, "Url": { "maxLength": 1000, "minLength": 1, + "pattern": "https://.*", "type": "string" } }, @@ -725,6 +729,10 @@ "type": "string" }, "S3BackupMode": { + "enum": [ + "AllData", + "FailedDataOnly" + ], "type": "string" }, "S3Configuration": { @@ -824,6 +832,7 @@ "additionalProperties": false, "properties": { "AWSKMSKeyARN": { + "pattern": "arn:.*", "relationshipRef": { "propertyPath": "/properties/Arn", "typeName": "AWS::KMS::Key" @@ -937,6 +946,11 @@ "type": "number" }, "Compression": { + "enum": [ + "NONE", + "SNAPPY", + "ZLIB" + ], "type": "string" }, "DictionaryKeyThreshold": { @@ -946,6 +960,10 @@ "type": "boolean" }, "FormatVersion": { + "enum": [ + "V0_11", + "V0_12" + ], "type": "string" }, "PaddingTolerance": { @@ -976,6 +994,11 @@ "type": "integer" }, "Compression": { + "enum": [ + "GZIP", + "SNAPPY", + "UNCOMPRESSED" + ], "type": "string" }, "EnableDictionaryCompression": { @@ -988,6 +1011,10 @@ "type": "integer" }, "WriterVersion": { + "enum": [ + "V1", + "V2" + ], "type": "string" } }, @@ -1081,6 +1108,7 @@ "ClusterJDBCURL": { "maxLength": 512, "minLength": 1, + "pattern": "jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?