1{
2    "testCases": [
3        {
4            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
5            "expect": {
6                "endpoint": {
7                    "url": "https://controltower.ap-northeast-1.amazonaws.com"
8                }
9            },
10            "params": {
11                "Region": "ap-northeast-1",
12                "UseFIPS": false,
13                "UseDualStack": false
14            }
15        },
16        {
17            "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled",
18            "expect": {
19                "endpoint": {
20                    "url": "https://controltower.ap-northeast-2.amazonaws.com"
21                }
22            },
23            "params": {
24                "Region": "ap-northeast-2",
25                "UseFIPS": false,
26                "UseDualStack": false
27            }
28        },
29        {
30            "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled",
31            "expect": {
32                "endpoint": {
33                    "url": "https://controltower.ap-south-1.amazonaws.com"
34                }
35            },
36            "params": {
37                "Region": "ap-south-1",
38                "UseFIPS": false,
39                "UseDualStack": false
40            }
41        },
42        {
43            "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled",
44            "expect": {
45                "endpoint": {
46                    "url": "https://controltower.ap-southeast-1.amazonaws.com"
47                }
48            },
49            "params": {
50                "Region": "ap-southeast-1",
51                "UseFIPS": false,
52                "UseDualStack": false
53            }
54        },
55        {
56            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
57            "expect": {
58                "endpoint": {
59                    "url": "https://controltower.ap-southeast-2.amazonaws.com"
60                }
61            },
62            "params": {
63                "Region": "ap-southeast-2",
64                "UseFIPS": false,
65                "UseDualStack": false
66            }
67        },
68        {
69            "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled",
70            "expect": {
71                "endpoint": {
72                    "url": "https://controltower.ca-central-1.amazonaws.com"
73                }
74            },
75            "params": {
76                "Region": "ca-central-1",
77                "UseFIPS": false,
78                "UseDualStack": false
79            }
80        },
81        {
82            "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled",
83            "expect": {
84                "endpoint": {
85                    "url": "https://controltower-fips.ca-central-1.amazonaws.com"
86                }
87            },
88            "params": {
89                "Region": "ca-central-1",
90                "UseFIPS": true,
91                "UseDualStack": false
92            }
93        },
94        {
95            "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled",
96            "expect": {
97                "endpoint": {
98                    "url": "https://controltower.eu-central-1.amazonaws.com"
99                }
100            },
101            "params": {
102                "Region": "eu-central-1",
103                "UseFIPS": false,
104                "UseDualStack": false
105            }
106        },
107        {
108            "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled",
109            "expect": {
110                "endpoint": {
111                    "url": "https://controltower.eu-north-1.amazonaws.com"
112                }
113            },
114            "params": {
115                "Region": "eu-north-1",
116                "UseFIPS": false,
117                "UseDualStack": false
118            }
119        },
120        {
121            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
122            "expect": {
123                "endpoint": {
124                    "url": "https://controltower.eu-west-1.amazonaws.com"
125                }
126            },
127            "params": {
128                "Region": "eu-west-1",
129                "UseFIPS": false,
130                "UseDualStack": false
131            }
132        },
133        {
134            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
135            "expect": {
136                "endpoint": {
137                    "url": "https://controltower.eu-west-2.amazonaws.com"
138                }
139            },
140            "params": {
141                "Region": "eu-west-2",
142                "UseFIPS": false,
143                "UseDualStack": false
144            }
145        },
146        {
147            "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled",
148            "expect": {
149                "endpoint": {
150                    "url": "https://controltower.eu-west-3.amazonaws.com"
151                }
152            },
153            "params": {
154                "Region": "eu-west-3",
155                "UseFIPS": false,
156                "UseDualStack": false
157            }
158        },
159        {
160            "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled",
161            "expect": {
162                "endpoint": {
163                    "url": "https://controltower.sa-east-1.amazonaws.com"
164                }
165            },
166            "params": {
167                "Region": "sa-east-1",
168                "UseFIPS": false,
169                "UseDualStack": false
170            }
171        },
172        {
173            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
174            "expect": {
175                "endpoint": {
176                    "url": "https://controltower.us-east-1.amazonaws.com"
177                }
178            },
179            "params": {
180                "Region": "us-east-1",
181                "UseFIPS": false,
182                "UseDualStack": false
183            }
184        },
185        {
186            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
187            "expect": {
188                "endpoint": {
189                    "url": "https://controltower-fips.us-east-1.amazonaws.com"
190                }
191            },
192            "params": {
193                "Region": "us-east-1",
194                "UseFIPS": true,
195                "UseDualStack": false
196            }
197        },
198        {
199            "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled",
200            "expect": {
201                "endpoint": {
202                    "url": "https://controltower.us-east-2.amazonaws.com"
203                }
204            },
205            "params": {
206                "Region": "us-east-2",
207                "UseFIPS": false,
208                "UseDualStack": false
209            }
210        },
211        {
212            "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled",
213            "expect": {
214                "endpoint": {
215                    "url": "https://controltower-fips.us-east-2.amazonaws.com"
216                }
217            },
218            "params": {
219                "Region": "us-east-2",
220                "UseFIPS": true,
221                "UseDualStack": false
222            }
223        },
224        {
225            "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
226            "expect": {
227                "endpoint": {
228                    "url": "https://controltower.us-west-2.amazonaws.com"
229                }
230            },
231            "params": {
232                "Region": "us-west-2",
233                "UseFIPS": false,
234                "UseDualStack": false
235            }
236        },
237        {
238            "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled",
239            "expect": {
240                "endpoint": {
241                    "url": "https://controltower-fips.us-west-2.amazonaws.com"
242                }
243            },
244            "params": {
245                "Region": "us-west-2",
246                "UseFIPS": true,
247                "UseDualStack": false
248            }
249        },
250        {
251            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
252            "expect": {
253                "endpoint": {
254                    "url": "https://controltower-fips.us-east-1.api.aws"
255                }
256            },
257            "params": {
258                "Region": "us-east-1",
259                "UseFIPS": true,
260                "UseDualStack": true
261            }
262        },
263        {
264            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
265            "expect": {
266                "endpoint": {
267                    "url": "https://controltower.us-east-1.api.aws"
268                }
269            },
270            "params": {
271                "Region": "us-east-1",
272                "UseFIPS": false,
273                "UseDualStack": true
274            }
275        },
276        {
277            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
278            "expect": {
279                "endpoint": {
280                    "url": "https://controltower-fips.cn-north-1.api.amazonwebservices.com.cn"
281                }
282            },
283            "params": {
284                "Region": "cn-north-1",
285                "UseFIPS": true,
286                "UseDualStack": true
287            }
288        },
289        {
290            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
291            "expect": {
292                "endpoint": {
293                    "url": "https://controltower-fips.cn-north-1.amazonaws.com.cn"
294                }
295            },
296            "params": {
297                "Region": "cn-north-1",
298                "UseFIPS": true,
299                "UseDualStack": false
300            }
301        },
302        {
303            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
304            "expect": {
305                "endpoint": {
306                    "url": "https://controltower.cn-north-1.api.amazonwebservices.com.cn"
307                }
308            },
309            "params": {
310                "Region": "cn-north-1",
311                "UseFIPS": false,
312                "UseDualStack": true
313            }
314        },
315        {
316            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
317            "expect": {
318                "endpoint": {
319                    "url": "https://controltower.cn-north-1.amazonaws.com.cn"
320                }
321            },
322            "params": {
323                "Region": "cn-north-1",
324                "UseFIPS": false,
325                "UseDualStack": false
326            }
327        },
328        {
329            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
330            "expect": {
331                "endpoint": {
332                    "url": "https://controltower-fips.us-gov-east-1.api.aws"
333                }
334            },
335            "params": {
336                "Region": "us-gov-east-1",
337                "UseFIPS": true,
338                "UseDualStack": true
339            }
340        },
341        {
342            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
343            "expect": {
344                "endpoint": {
345                    "url": "https://controltower-fips.us-gov-east-1.amazonaws.com"
346                }
347            },
348            "params": {
349                "Region": "us-gov-east-1",
350                "UseFIPS": true,
351                "UseDualStack": false
352            }
353        },
354        {
355            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
356            "expect": {
357                "endpoint": {
358                    "url": "https://controltower.us-gov-east-1.api.aws"
359                }
360            },
361            "params": {
362                "Region": "us-gov-east-1",
363                "UseFIPS": false,
364                "UseDualStack": true
365            }
366        },
367        {
368            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
369            "expect": {
370                "endpoint": {
371                    "url": "https://controltower.us-gov-east-1.amazonaws.com"
372                }
373            },
374            "params": {
375                "Region": "us-gov-east-1",
376                "UseFIPS": false,
377                "UseDualStack": false
378            }
379        },
380        {
381            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled",
382            "expect": {
383                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
384            },
385            "params": {
386                "Region": "us-iso-east-1",
387                "UseFIPS": true,
388                "UseDualStack": true
389            }
390        },
391        {
392            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
393            "expect": {
394                "endpoint": {
395                    "url": "https://controltower-fips.us-iso-east-1.c2s.ic.gov"
396                }
397            },
398            "params": {
399                "Region": "us-iso-east-1",
400                "UseFIPS": true,
401                "UseDualStack": false
402            }
403        },
404        {
405            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled",
406            "expect": {
407                "error": "DualStack is enabled but this partition does not support DualStack"
408            },
409            "params": {
410                "Region": "us-iso-east-1",
411                "UseFIPS": false,
412                "UseDualStack": true
413            }
414        },
415        {
416            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
417            "expect": {
418                "endpoint": {
419                    "url": "https://controltower.us-iso-east-1.c2s.ic.gov"
420                }
421            },
422            "params": {
423                "Region": "us-iso-east-1",
424                "UseFIPS": false,
425                "UseDualStack": false
426            }
427        },
428        {
429            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled",
430            "expect": {
431                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
432            },
433            "params": {
434                "Region": "us-isob-east-1",
435                "UseFIPS": true,
436                "UseDualStack": true
437            }
438        },
439        {
440            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
441            "expect": {
442                "endpoint": {
443                    "url": "https://controltower-fips.us-isob-east-1.sc2s.sgov.gov"
444                }
445            },
446            "params": {
447                "Region": "us-isob-east-1",
448                "UseFIPS": true,
449                "UseDualStack": false
450            }
451        },
452        {
453            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled",
454            "expect": {
455                "error": "DualStack is enabled but this partition does not support DualStack"
456            },
457            "params": {
458                "Region": "us-isob-east-1",
459                "UseFIPS": false,
460                "UseDualStack": true
461            }
462        },
463        {
464            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
465            "expect": {
466                "endpoint": {
467                    "url": "https://controltower.us-isob-east-1.sc2s.sgov.gov"
468                }
469            },
470            "params": {
471                "Region": "us-isob-east-1",
472                "UseFIPS": false,
473                "UseDualStack": false
474            }
475        },
476        {
477            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
478            "expect": {
479                "endpoint": {
480                    "url": "https://example.com"
481                }
482            },
483            "params": {
484                "Region": "us-east-1",
485                "UseFIPS": false,
486                "UseDualStack": false,
487                "Endpoint": "https://example.com"
488            }
489        },
490        {
491            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
492            "expect": {
493                "endpoint": {
494                    "url": "https://example.com"
495                }
496            },
497            "params": {
498                "UseFIPS": false,
499                "UseDualStack": false,
500                "Endpoint": "https://example.com"
501            }
502        },
503        {
504            "documentation": "For custom endpoint with fips enabled and dualstack disabled",
505            "expect": {
506                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
507            },
508            "params": {
509                "Region": "us-east-1",
510                "UseFIPS": true,
511                "UseDualStack": false,
512                "Endpoint": "https://example.com"
513            }
514        },
515        {
516            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
517            "expect": {
518                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
519            },
520            "params": {
521                "Region": "us-east-1",
522                "UseFIPS": false,
523                "UseDualStack": true,
524                "Endpoint": "https://example.com"
525            }
526        },
527        {
528            "documentation": "Missing region",
529            "expect": {
530                "error": "Invalid Configuration: Missing Region"
531            }
532        }
533    ],
534    "version": "1.0"
535}