Skip to content

Commit eea0801

Browse files
authored
Create a new jsonschema keyword enumCaseInsensitive (#3789)
* Create a new jsonschema keyword enumCaseInsensitive
1 parent 74847b1 commit eea0801

File tree

25 files changed

+579
-57
lines changed

25 files changed

+579
-57
lines changed

scripts/boto/update_schemas_from_boto.py

+7
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
"https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"
2525
)
2626

27+
case_insensitive_services = [
28+
"batch",
29+
]
30+
2731

2832
def configure_logging():
2933
"""Setup Logging"""
@@ -84,6 +88,9 @@ def build_resource_type_patches(
8488
)
8589
continue
8690
if value:
91+
if patch.source[0] in case_insensitive_services and field == "enum":
92+
field = "enumCaseInsensitive"
93+
value = [v.lower() for v in value]
8794
d.append(
8895
{
8996
"op": "add",

src/cfnlint/data/schemas/patches/extensions/all/aws_appsync_graphqlapi/boto.json

+67
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,72 @@
99
"AWS_LAMBDA",
1010
"OPENID_CONNECT"
1111
]
12+
},
13+
{
14+
"op": "add",
15+
"path": "/definitions/LogConfig/properties/FieldLogLevel/enum",
16+
"value": [
17+
"ALL",
18+
"DEBUG",
19+
"ERROR",
20+
"INFO",
21+
"NONE"
22+
]
23+
},
24+
{
25+
"op": "add",
26+
"path": "/definitions/UserPoolConfig/properties/DefaultAction/enum",
27+
"value": [
28+
"ALLOW",
29+
"DENY"
30+
]
31+
},
32+
{
33+
"op": "add",
34+
"path": "/properties/Visibility/enum",
35+
"value": [
36+
"GLOBAL",
37+
"PRIVATE"
38+
]
39+
},
40+
{
41+
"op": "add",
42+
"path": "/properties/ApiType/enum",
43+
"value": [
44+
"GRAPHQL",
45+
"MERGED"
46+
]
47+
},
48+
{
49+
"op": "add",
50+
"path": "/properties/IntrospectionConfig/enum",
51+
"value": [
52+
"DISABLED",
53+
"ENABLED"
54+
]
55+
},
56+
{
57+
"op": "add",
58+
"path": "/definitions/EnhancedMetricsConfig/properties/ResolverLevelMetricsBehavior/enum",
59+
"value": [
60+
"FULL_REQUEST_RESOLVER_METRICS",
61+
"PER_RESOLVER_METRICS"
62+
]
63+
},
64+
{
65+
"op": "add",
66+
"path": "/definitions/EnhancedMetricsConfig/properties/DataSourceLevelMetricsBehavior/enum",
67+
"value": [
68+
"FULL_REQUEST_DATA_SOURCE_METRICS",
69+
"PER_DATA_SOURCE_METRICS"
70+
]
71+
},
72+
{
73+
"op": "add",
74+
"path": "/definitions/EnhancedMetricsConfig/properties/OperationLevelMetricsConfig/enum",
75+
"value": [
76+
"DISABLED",
77+
"ENABLED"
78+
]
1279
}
1380
]
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
[
22
{
33
"op": "add",
4-
"path": "/properties/Type/enum",
4+
"path": "/properties/Type/enumCaseInsensitive",
55
"value": [
6-
"MANAGED",
7-
"UNMANAGED"
6+
"managed",
7+
"unmanaged"
88
]
99
},
1010
{
1111
"op": "add",
12-
"path": "/definitions/ComputeResources/properties/Type/enum",
12+
"path": "/definitions/ComputeResources/properties/Type/enumCaseInsensitive",
1313
"value": [
14-
"EC2",
15-
"FARGATE",
16-
"FARGATE_SPOT",
17-
"SPOT"
14+
"ec2",
15+
"fargate",
16+
"fargate_spot",
17+
"spot"
1818
]
1919
},
2020
{
2121
"op": "add",
22-
"path": "/definitions/ComputeResources/properties/AllocationStrategy/enum",
22+
"path": "/definitions/ComputeResources/properties/AllocationStrategy/enumCaseInsensitive",
2323
"value": [
24-
"BEST_FIT",
25-
"BEST_FIT_PROGRESSIVE",
26-
"SPOT_CAPACITY_OPTIMIZED",
27-
"SPOT_PRICE_CAPACITY_OPTIMIZED"
24+
"best_fit",
25+
"best_fit_progressive",
26+
"spot_capacity_optimized",
27+
"spot_price_capacity_optimized"
2828
]
2929
}
3030
]

src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/boto.json

+36
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,18 @@
201201
"c7i.metal-24xl",
202202
"c7i.metal-48xl",
203203
"c7i.xlarge",
204+
"c8g.12xlarge",
205+
"c8g.16xlarge",
206+
"c8g.24xlarge",
207+
"c8g.2xlarge",
208+
"c8g.48xlarge",
209+
"c8g.4xlarge",
210+
"c8g.8xlarge",
211+
"c8g.large",
212+
"c8g.medium",
213+
"c8g.metal-24xl",
214+
"c8g.metal-48xl",
215+
"c8g.xlarge",
204216
"cc1.4xlarge",
205217
"cc2.8xlarge",
206218
"cg1.4xlarge",
@@ -535,6 +547,18 @@
535547
"m7i.metal-24xl",
536548
"m7i.metal-48xl",
537549
"m7i.xlarge",
550+
"m8g.12xlarge",
551+
"m8g.16xlarge",
552+
"m8g.24xlarge",
553+
"m8g.2xlarge",
554+
"m8g.48xlarge",
555+
"m8g.4xlarge",
556+
"m8g.8xlarge",
557+
"m8g.large",
558+
"m8g.medium",
559+
"m8g.metal-24xl",
560+
"m8g.metal-48xl",
561+
"m8g.xlarge",
538562
"mac1.metal",
539563
"mac2-m1ultra.metal",
540564
"mac2-m2.metal",
@@ -841,6 +865,18 @@
841865
"x2iezn.6xlarge",
842866
"x2iezn.8xlarge",
843867
"x2iezn.metal",
868+
"x8g.12xlarge",
869+
"x8g.16xlarge",
870+
"x8g.24xlarge",
871+
"x8g.2xlarge",
872+
"x8g.48xlarge",
873+
"x8g.4xlarge",
874+
"x8g.8xlarge",
875+
"x8g.large",
876+
"x8g.medium",
877+
"x8g.metal-24xl",
878+
"x8g.metal-48xl",
879+
"x8g.xlarge",
844880
"z1d.12xlarge",
845881
"z1d.2xlarge",
846882
"z1d.3xlarge",

src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json

+36
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,18 @@
337337
"c7i.metal-24xl",
338338
"c7i.metal-48xl",
339339
"c7i.xlarge",
340+
"c8g.12xlarge",
341+
"c8g.16xlarge",
342+
"c8g.24xlarge",
343+
"c8g.2xlarge",
344+
"c8g.48xlarge",
345+
"c8g.4xlarge",
346+
"c8g.8xlarge",
347+
"c8g.large",
348+
"c8g.medium",
349+
"c8g.metal-24xl",
350+
"c8g.metal-48xl",
351+
"c8g.xlarge",
340352
"cc1.4xlarge",
341353
"cc2.8xlarge",
342354
"cg1.4xlarge",
@@ -671,6 +683,18 @@
671683
"m7i.metal-24xl",
672684
"m7i.metal-48xl",
673685
"m7i.xlarge",
686+
"m8g.12xlarge",
687+
"m8g.16xlarge",
688+
"m8g.24xlarge",
689+
"m8g.2xlarge",
690+
"m8g.48xlarge",
691+
"m8g.4xlarge",
692+
"m8g.8xlarge",
693+
"m8g.large",
694+
"m8g.medium",
695+
"m8g.metal-24xl",
696+
"m8g.metal-48xl",
697+
"m8g.xlarge",
674698
"mac1.metal",
675699
"mac2-m1ultra.metal",
676700
"mac2-m2.metal",
@@ -977,6 +1001,18 @@
9771001
"x2iezn.6xlarge",
9781002
"x2iezn.8xlarge",
9791003
"x2iezn.metal",
1004+
"x8g.12xlarge",
1005+
"x8g.16xlarge",
1006+
"x8g.24xlarge",
1007+
"x8g.2xlarge",
1008+
"x8g.48xlarge",
1009+
"x8g.4xlarge",
1010+
"x8g.8xlarge",
1011+
"x8g.large",
1012+
"x8g.medium",
1013+
"x8g.metal-24xl",
1014+
"x8g.metal-48xl",
1015+
"x8g.xlarge",
9801016
"z1d.12xlarge",
9811017
"z1d.2xlarge",
9821018
"z1d.3xlarge",

src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_networkinterface/boto.json

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"value": [
66
"branch",
77
"efa",
8+
"efa-only",
89
"trunk"
910
]
1011
}

src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-instance.json

+36
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,18 @@
631631
"c7i.metal-24xl",
632632
"c7i.metal-48xl",
633633
"c7i.xlarge",
634+
"c8g.12xlarge",
635+
"c8g.16xlarge",
636+
"c8g.24xlarge",
637+
"c8g.2xlarge",
638+
"c8g.48xlarge",
639+
"c8g.4xlarge",
640+
"c8g.8xlarge",
641+
"c8g.large",
642+
"c8g.medium",
643+
"c8g.metal-24xl",
644+
"c8g.metal-48xl",
645+
"c8g.xlarge",
634646
"cc1.4xlarge",
635647
"cc2.8xlarge",
636648
"cg1.4xlarge",
@@ -965,6 +977,18 @@
965977
"m7i.metal-24xl",
966978
"m7i.metal-48xl",
967979
"m7i.xlarge",
980+
"m8g.12xlarge",
981+
"m8g.16xlarge",
982+
"m8g.24xlarge",
983+
"m8g.2xlarge",
984+
"m8g.48xlarge",
985+
"m8g.4xlarge",
986+
"m8g.8xlarge",
987+
"m8g.large",
988+
"m8g.medium",
989+
"m8g.metal-24xl",
990+
"m8g.metal-48xl",
991+
"m8g.xlarge",
968992
"mac1.metal",
969993
"mac2-m1ultra.metal",
970994
"mac2-m2.metal",
@@ -1271,6 +1295,18 @@
12711295
"x2iezn.6xlarge",
12721296
"x2iezn.8xlarge",
12731297
"x2iezn.metal",
1298+
"x8g.12xlarge",
1299+
"x8g.16xlarge",
1300+
"x8g.24xlarge",
1301+
"x8g.2xlarge",
1302+
"x8g.48xlarge",
1303+
"x8g.4xlarge",
1304+
"x8g.8xlarge",
1305+
"x8g.large",
1306+
"x8g.medium",
1307+
"x8g.metal-24xl",
1308+
"x8g.metal-48xl",
1309+
"x8g.xlarge",
12741310
"z1d.12xlarge",
12751311
"z1d.2xlarge",
12761312
"z1d.3xlarge",

src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json

+10
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,16 @@
171171
"additionalProperties": false,
172172
"properties": {
173173
"LogDriver": {
174+
"enum": [
175+
"awsfirelens",
176+
"awslogs",
177+
"fluentd",
178+
"gelf",
179+
"journald",
180+
"json-file",
181+
"splunk",
182+
"syslog"
183+
],
174184
"type": "string"
175185
},
176186
"Options": {

src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-launchtemplate.json

+36
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,18 @@
653653
"c7i.metal-24xl",
654654
"c7i.metal-48xl",
655655
"c7i.xlarge",
656+
"c8g.12xlarge",
657+
"c8g.16xlarge",
658+
"c8g.24xlarge",
659+
"c8g.2xlarge",
660+
"c8g.48xlarge",
661+
"c8g.4xlarge",
662+
"c8g.8xlarge",
663+
"c8g.large",
664+
"c8g.medium",
665+
"c8g.metal-24xl",
666+
"c8g.metal-48xl",
667+
"c8g.xlarge",
656668
"cc1.4xlarge",
657669
"cc2.8xlarge",
658670
"cg1.4xlarge",
@@ -987,6 +999,18 @@
987999
"m7i.metal-24xl",
9881000
"m7i.metal-48xl",
9891001
"m7i.xlarge",
1002+
"m8g.12xlarge",
1003+
"m8g.16xlarge",
1004+
"m8g.24xlarge",
1005+
"m8g.2xlarge",
1006+
"m8g.48xlarge",
1007+
"m8g.4xlarge",
1008+
"m8g.8xlarge",
1009+
"m8g.large",
1010+
"m8g.medium",
1011+
"m8g.metal-24xl",
1012+
"m8g.metal-48xl",
1013+
"m8g.xlarge",
9901014
"mac1.metal",
9911015
"mac2-m1ultra.metal",
9921016
"mac2-m2.metal",
@@ -1293,6 +1317,18 @@
12931317
"x2iezn.6xlarge",
12941318
"x2iezn.8xlarge",
12951319
"x2iezn.metal",
1320+
"x8g.12xlarge",
1321+
"x8g.16xlarge",
1322+
"x8g.24xlarge",
1323+
"x8g.2xlarge",
1324+
"x8g.48xlarge",
1325+
"x8g.4xlarge",
1326+
"x8g.8xlarge",
1327+
"x8g.large",
1328+
"x8g.medium",
1329+
"x8g.metal-24xl",
1330+
"x8g.metal-48xl",
1331+
"x8g.xlarge",
12961332
"z1d.12xlarge",
12971333
"z1d.2xlarge",
12981334
"z1d.3xlarge",

src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-networkinterface.json

+1
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
"enum": [
133133
"branch",
134134
"efa",
135+
"efa-only",
135136
"trunk"
136137
],
137138
"type": "string"

0 commit comments

Comments
 (0)