1{
2    "testCases": [
3        {
4            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
5            "expect": {
6                "endpoint": {
7                    "url": "https://fis-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://fis-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://fis.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://fis.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://fis-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://fis-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://fis.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://fis.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 disabled and DualStack disabled",
109            "expect": {
110                "endpoint": {
111                    "url": "https://fis.us-gov-east-1.amazonaws.com"
112                }
113            },
114            "params": {
115                "Region": "us-gov-east-1",
116                "UseFIPS": false,
117                "UseDualStack": false
118            }
119        },
120        {
121            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
122            "expect": {
123                "endpoint": {
124                    "url": "https://fis.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-west-1 with FIPS disabled and DualStack disabled",
135            "expect": {
136                "endpoint": {
137                    "url": "https://fis.us-gov-west-1.amazonaws.com"
138                }
139            },
140            "params": {
141                "Region": "us-gov-west-1",
142                "UseFIPS": false,
143                "UseDualStack": false
144            }
145        },
146        {
147            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled",
148            "expect": {
149                "endpoint": {
150                    "url": "https://fis.us-gov-west-1.amazonaws.com"
151                }
152            },
153            "params": {
154                "Region": "us-gov-west-1",
155                "UseFIPS": true,
156                "UseDualStack": false
157            }
158        },
159        {
160            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
161            "expect": {
162                "endpoint": {
163                    "url": "https://fis-fips.us-gov-east-1.api.aws"
164                }
165            },
166            "params": {
167                "Region": "us-gov-east-1",
168                "UseFIPS": true,
169                "UseDualStack": true
170            }
171        },
172        {
173            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
174            "expect": {
175                "endpoint": {
176                    "url": "https://fis.us-gov-east-1.api.aws"
177                }
178            },
179            "params": {
180                "Region": "us-gov-east-1",
181                "UseFIPS": false,
182                "UseDualStack": true
183            }
184        },
185        {
186            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled",
187            "expect": {
188                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
189            },
190            "params": {
191                "Region": "us-iso-east-1",
192                "UseFIPS": true,
193                "UseDualStack": true
194            }
195        },
196        {
197            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
198            "expect": {
199                "endpoint": {
200                    "url": "https://fis-fips.us-iso-east-1.c2s.ic.gov"
201                }
202            },
203            "params": {
204                "Region": "us-iso-east-1",
205                "UseFIPS": true,
206                "UseDualStack": false
207            }
208        },
209        {
210            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled",
211            "expect": {
212                "error": "DualStack is enabled but this partition does not support DualStack"
213            },
214            "params": {
215                "Region": "us-iso-east-1",
216                "UseFIPS": false,
217                "UseDualStack": true
218            }
219        },
220        {
221            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
222            "expect": {
223                "endpoint": {
224                    "url": "https://fis.us-iso-east-1.c2s.ic.gov"
225                }
226            },
227            "params": {
228                "Region": "us-iso-east-1",
229                "UseFIPS": false,
230                "UseDualStack": false
231            }
232        },
233        {
234            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled",
235            "expect": {
236                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
237            },
238            "params": {
239                "Region": "us-isob-east-1",
240                "UseFIPS": true,
241                "UseDualStack": true
242            }
243        },
244        {
245            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
246            "expect": {
247                "endpoint": {
248                    "url": "https://fis-fips.us-isob-east-1.sc2s.sgov.gov"
249                }
250            },
251            "params": {
252                "Region": "us-isob-east-1",
253                "UseFIPS": true,
254                "UseDualStack": false
255            }
256        },
257        {
258            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled",
259            "expect": {
260                "error": "DualStack is enabled but this partition does not support DualStack"
261            },
262            "params": {
263                "Region": "us-isob-east-1",
264                "UseFIPS": false,
265                "UseDualStack": true
266            }
267        },
268        {
269            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
270            "expect": {
271                "endpoint": {
272                    "url": "https://fis.us-isob-east-1.sc2s.sgov.gov"
273                }
274            },
275            "params": {
276                "Region": "us-isob-east-1",
277                "UseFIPS": false,
278                "UseDualStack": false
279            }
280        },
281        {
282            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
283            "expect": {
284                "endpoint": {
285                    "url": "https://example.com"
286                }
287            },
288            "params": {
289                "Region": "us-east-1",
290                "UseFIPS": false,
291                "UseDualStack": false,
292                "Endpoint": "https://example.com"
293            }
294        },
295        {
296            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
297            "expect": {
298                "endpoint": {
299                    "url": "https://example.com"
300                }
301            },
302            "params": {
303                "UseFIPS": false,
304                "UseDualStack": false,
305                "Endpoint": "https://example.com"
306            }
307        },
308        {
309            "documentation": "For custom endpoint with fips enabled and dualstack disabled",
310            "expect": {
311                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
312            },
313            "params": {
314                "Region": "us-east-1",
315                "UseFIPS": true,
316                "UseDualStack": false,
317                "Endpoint": "https://example.com"
318            }
319        },
320        {
321            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
322            "expect": {
323                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
324            },
325            "params": {
326                "Region": "us-east-1",
327                "UseFIPS": false,
328                "UseDualStack": true,
329                "Endpoint": "https://example.com"
330            }
331        },
332        {
333            "documentation": "Missing region",
334            "expect": {
335                "error": "Invalid Configuration: Missing Region"
336            }
337        }
338    ],
339    "version": "1.0"
340}