1{
2    "testCases": [
3        {
4            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
5            "expect": {
6                "endpoint": {
7                    "url": "https://codeguru-security-fips.us-east-1.api.aws"
8                }
9            },
10            "params": {
11                "Region": "us-east-1",
12                "UseFIPS": true,
13                "UseDualStack": true
14            }
15        },
16        {
17            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
18            "expect": {
19                "endpoint": {
20                    "url": "https://codeguru-security-fips.us-east-1.amazonaws.com"
21                }
22            },
23            "params": {
24                "Region": "us-east-1",
25                "UseFIPS": true,
26                "UseDualStack": false
27            }
28        },
29        {
30            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
31            "expect": {
32                "endpoint": {
33                    "url": "https://codeguru-security.us-east-1.api.aws"
34                }
35            },
36            "params": {
37                "Region": "us-east-1",
38                "UseFIPS": false,
39                "UseDualStack": true
40            }
41        },
42        {
43            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
44            "expect": {
45                "endpoint": {
46                    "url": "https://codeguru-security.us-east-1.amazonaws.com"
47                }
48            },
49            "params": {
50                "Region": "us-east-1",
51                "UseFIPS": false,
52                "UseDualStack": false
53            }
54        },
55        {
56            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
57            "expect": {
58                "endpoint": {
59                    "url": "https://codeguru-security-fips.cn-north-1.api.amazonwebservices.com.cn"
60                }
61            },
62            "params": {
63                "Region": "cn-north-1",
64                "UseFIPS": true,
65                "UseDualStack": true
66            }
67        },
68        {
69            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
70            "expect": {
71                "endpoint": {
72                    "url": "https://codeguru-security-fips.cn-north-1.amazonaws.com.cn"
73                }
74            },
75            "params": {
76                "Region": "cn-north-1",
77                "UseFIPS": true,
78                "UseDualStack": false
79            }
80        },
81        {
82            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
83            "expect": {
84                "endpoint": {
85                    "url": "https://codeguru-security.cn-north-1.api.amazonwebservices.com.cn"
86                }
87            },
88            "params": {
89                "Region": "cn-north-1",
90                "UseFIPS": false,
91                "UseDualStack": true
92            }
93        },
94        {
95            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
96            "expect": {
97                "endpoint": {
98                    "url": "https://codeguru-security.cn-north-1.amazonaws.com.cn"
99                }
100            },
101            "params": {
102                "Region": "cn-north-1",
103                "UseFIPS": false,
104                "UseDualStack": false
105            }
106        },
107        {
108            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
109            "expect": {
110                "endpoint": {
111                    "url": "https://codeguru-security-fips.us-gov-east-1.api.aws"
112                }
113            },
114            "params": {
115                "Region": "us-gov-east-1",
116                "UseFIPS": true,
117                "UseDualStack": true
118            }
119        },
120        {
121            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
122            "expect": {
123                "endpoint": {
124                    "url": "https://codeguru-security-fips.us-gov-east-1.amazonaws.com"
125                }
126            },
127            "params": {
128                "Region": "us-gov-east-1",
129                "UseFIPS": true,
130                "UseDualStack": false
131            }
132        },
133        {
134            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
135            "expect": {
136                "endpoint": {
137                    "url": "https://codeguru-security.us-gov-east-1.api.aws"
138                }
139            },
140            "params": {
141                "Region": "us-gov-east-1",
142                "UseFIPS": false,
143                "UseDualStack": true
144            }
145        },
146        {
147            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
148            "expect": {
149                "endpoint": {
150                    "url": "https://codeguru-security.us-gov-east-1.amazonaws.com"
151                }
152            },
153            "params": {
154                "Region": "us-gov-east-1",
155                "UseFIPS": false,
156                "UseDualStack": false
157            }
158        },
159        {
160            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled",
161            "expect": {
162                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
163            },
164            "params": {
165                "Region": "us-iso-east-1",
166                "UseFIPS": true,
167                "UseDualStack": true
168            }
169        },
170        {
171            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
172            "expect": {
173                "endpoint": {
174                    "url": "https://codeguru-security-fips.us-iso-east-1.c2s.ic.gov"
175                }
176            },
177            "params": {
178                "Region": "us-iso-east-1",
179                "UseFIPS": true,
180                "UseDualStack": false
181            }
182        },
183        {
184            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled",
185            "expect": {
186                "error": "DualStack is enabled but this partition does not support DualStack"
187            },
188            "params": {
189                "Region": "us-iso-east-1",
190                "UseFIPS": false,
191                "UseDualStack": true
192            }
193        },
194        {
195            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
196            "expect": {
197                "endpoint": {
198                    "url": "https://codeguru-security.us-iso-east-1.c2s.ic.gov"
199                }
200            },
201            "params": {
202                "Region": "us-iso-east-1",
203                "UseFIPS": false,
204                "UseDualStack": false
205            }
206        },
207        {
208            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled",
209            "expect": {
210                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
211            },
212            "params": {
213                "Region": "us-isob-east-1",
214                "UseFIPS": true,
215                "UseDualStack": true
216            }
217        },
218        {
219            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
220            "expect": {
221                "endpoint": {
222                    "url": "https://codeguru-security-fips.us-isob-east-1.sc2s.sgov.gov"
223                }
224            },
225            "params": {
226                "Region": "us-isob-east-1",
227                "UseFIPS": true,
228                "UseDualStack": false
229            }
230        },
231        {
232            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled",
233            "expect": {
234                "error": "DualStack is enabled but this partition does not support DualStack"
235            },
236            "params": {
237                "Region": "us-isob-east-1",
238                "UseFIPS": false,
239                "UseDualStack": true
240            }
241        },
242        {
243            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
244            "expect": {
245                "endpoint": {
246                    "url": "https://codeguru-security.us-isob-east-1.sc2s.sgov.gov"
247                }
248            },
249            "params": {
250                "Region": "us-isob-east-1",
251                "UseFIPS": false,
252                "UseDualStack": false
253            }
254        },
255        {
256            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
257            "expect": {
258                "endpoint": {
259                    "url": "https://example.com"
260                }
261            },
262            "params": {
263                "Region": "us-east-1",
264                "UseFIPS": false,
265                "UseDualStack": false,
266                "Endpoint": "https://example.com"
267            }
268        },
269        {
270            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
271            "expect": {
272                "endpoint": {
273                    "url": "https://example.com"
274                }
275            },
276            "params": {
277                "UseFIPS": false,
278                "UseDualStack": false,
279                "Endpoint": "https://example.com"
280            }
281        },
282        {
283            "documentation": "For custom endpoint with fips enabled and dualstack disabled",
284            "expect": {
285                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
286            },
287            "params": {
288                "Region": "us-east-1",
289                "UseFIPS": true,
290                "UseDualStack": false,
291                "Endpoint": "https://example.com"
292            }
293        },
294        {
295            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
296            "expect": {
297                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
298            },
299            "params": {
300                "Region": "us-east-1",
301                "UseFIPS": false,
302                "UseDualStack": true,
303                "Endpoint": "https://example.com"
304            }
305        },
306        {
307            "documentation": "Missing region",
308            "expect": {
309                "error": "Invalid Configuration: Missing Region"
310            }
311        }
312    ],
313    "version": "1.0"
314}