1{
2    "testCases": [
3        {
4            "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled",
5            "expect": {
6                "endpoint": {
7                    "url": "https://fms.af-south-1.amazonaws.com"
8                }
9            },
10            "params": {
11                "Region": "af-south-1",
12                "UseFIPS": false,
13                "UseDualStack": false
14            }
15        },
16        {
17            "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled",
18            "expect": {
19                "endpoint": {
20                    "url": "https://fms-fips.af-south-1.amazonaws.com"
21                }
22            },
23            "params": {
24                "Region": "af-south-1",
25                "UseFIPS": true,
26                "UseDualStack": false
27            }
28        },
29        {
30            "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled",
31            "expect": {
32                "endpoint": {
33                    "url": "https://fms.ap-east-1.amazonaws.com"
34                }
35            },
36            "params": {
37                "Region": "ap-east-1",
38                "UseFIPS": false,
39                "UseDualStack": false
40            }
41        },
42        {
43            "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled",
44            "expect": {
45                "endpoint": {
46                    "url": "https://fms-fips.ap-east-1.amazonaws.com"
47                }
48            },
49            "params": {
50                "Region": "ap-east-1",
51                "UseFIPS": true,
52                "UseDualStack": false
53            }
54        },
55        {
56            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
57            "expect": {
58                "endpoint": {
59                    "url": "https://fms.ap-northeast-1.amazonaws.com"
60                }
61            },
62            "params": {
63                "Region": "ap-northeast-1",
64                "UseFIPS": false,
65                "UseDualStack": false
66            }
67        },
68        {
69            "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled",
70            "expect": {
71                "endpoint": {
72                    "url": "https://fms-fips.ap-northeast-1.amazonaws.com"
73                }
74            },
75            "params": {
76                "Region": "ap-northeast-1",
77                "UseFIPS": true,
78                "UseDualStack": false
79            }
80        },
81        {
82            "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled",
83            "expect": {
84                "endpoint": {
85                    "url": "https://fms.ap-northeast-2.amazonaws.com"
86                }
87            },
88            "params": {
89                "Region": "ap-northeast-2",
90                "UseFIPS": false,
91                "UseDualStack": false
92            }
93        },
94        {
95            "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled",
96            "expect": {
97                "endpoint": {
98                    "url": "https://fms-fips.ap-northeast-2.amazonaws.com"
99                }
100            },
101            "params": {
102                "Region": "ap-northeast-2",
103                "UseFIPS": true,
104                "UseDualStack": false
105            }
106        },
107        {
108            "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled",
109            "expect": {
110                "endpoint": {
111                    "url": "https://fms.ap-northeast-3.amazonaws.com"
112                }
113            },
114            "params": {
115                "Region": "ap-northeast-3",
116                "UseFIPS": false,
117                "UseDualStack": false
118            }
119        },
120        {
121            "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled",
122            "expect": {
123                "endpoint": {
124                    "url": "https://fms.ap-south-1.amazonaws.com"
125                }
126            },
127            "params": {
128                "Region": "ap-south-1",
129                "UseFIPS": false,
130                "UseDualStack": false
131            }
132        },
133        {
134            "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled",
135            "expect": {
136                "endpoint": {
137                    "url": "https://fms-fips.ap-south-1.amazonaws.com"
138                }
139            },
140            "params": {
141                "Region": "ap-south-1",
142                "UseFIPS": true,
143                "UseDualStack": false
144            }
145        },
146        {
147            "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled",
148            "expect": {
149                "endpoint": {
150                    "url": "https://fms.ap-southeast-1.amazonaws.com"
151                }
152            },
153            "params": {
154                "Region": "ap-southeast-1",
155                "UseFIPS": false,
156                "UseDualStack": false
157            }
158        },
159        {
160            "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled",
161            "expect": {
162                "endpoint": {
163                    "url": "https://fms-fips.ap-southeast-1.amazonaws.com"
164                }
165            },
166            "params": {
167                "Region": "ap-southeast-1",
168                "UseFIPS": true,
169                "UseDualStack": false
170            }
171        },
172        {
173            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
174            "expect": {
175                "endpoint": {
176                    "url": "https://fms.ap-southeast-2.amazonaws.com"
177                }
178            },
179            "params": {
180                "Region": "ap-southeast-2",
181                "UseFIPS": false,
182                "UseDualStack": false
183            }
184        },
185        {
186            "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled",
187            "expect": {
188                "endpoint": {
189                    "url": "https://fms-fips.ap-southeast-2.amazonaws.com"
190                }
191            },
192            "params": {
193                "Region": "ap-southeast-2",
194                "UseFIPS": true,
195                "UseDualStack": false
196            }
197        },
198        {
199            "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled",
200            "expect": {
201                "endpoint": {
202                    "url": "https://fms.ca-central-1.amazonaws.com"
203                }
204            },
205            "params": {
206                "Region": "ca-central-1",
207                "UseFIPS": false,
208                "UseDualStack": false
209            }
210        },
211        {
212            "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled",
213            "expect": {
214                "endpoint": {
215                    "url": "https://fms-fips.ca-central-1.amazonaws.com"
216                }
217            },
218            "params": {
219                "Region": "ca-central-1",
220                "UseFIPS": true,
221                "UseDualStack": false
222            }
223        },
224        {
225            "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled",
226            "expect": {
227                "endpoint": {
228                    "url": "https://fms.eu-central-1.amazonaws.com"
229                }
230            },
231            "params": {
232                "Region": "eu-central-1",
233                "UseFIPS": false,
234                "UseDualStack": false
235            }
236        },
237        {
238            "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled",
239            "expect": {
240                "endpoint": {
241                    "url": "https://fms-fips.eu-central-1.amazonaws.com"
242                }
243            },
244            "params": {
245                "Region": "eu-central-1",
246                "UseFIPS": true,
247                "UseDualStack": false
248            }
249        },
250        {
251            "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled",
252            "expect": {
253                "endpoint": {
254                    "url": "https://fms.eu-north-1.amazonaws.com"
255                }
256            },
257            "params": {
258                "Region": "eu-north-1",
259                "UseFIPS": false,
260                "UseDualStack": false
261            }
262        },
263        {
264            "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled",
265            "expect": {
266                "endpoint": {
267                    "url": "https://fms.eu-south-1.amazonaws.com"
268                }
269            },
270            "params": {
271                "Region": "eu-south-1",
272                "UseFIPS": false,
273                "UseDualStack": false
274            }
275        },
276        {
277            "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled",
278            "expect": {
279                "endpoint": {
280                    "url": "https://fms-fips.eu-south-1.amazonaws.com"
281                }
282            },
283            "params": {
284                "Region": "eu-south-1",
285                "UseFIPS": true,
286                "UseDualStack": false
287            }
288        },
289        {
290            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
291            "expect": {
292                "endpoint": {
293                    "url": "https://fms.eu-west-1.amazonaws.com"
294                }
295            },
296            "params": {
297                "Region": "eu-west-1",
298                "UseFIPS": false,
299                "UseDualStack": false
300            }
301        },
302        {
303            "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled",
304            "expect": {
305                "endpoint": {
306                    "url": "https://fms-fips.eu-west-1.amazonaws.com"
307                }
308            },
309            "params": {
310                "Region": "eu-west-1",
311                "UseFIPS": true,
312                "UseDualStack": false
313            }
314        },
315        {
316            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
317            "expect": {
318                "endpoint": {
319                    "url": "https://fms.eu-west-2.amazonaws.com"
320                }
321            },
322            "params": {
323                "Region": "eu-west-2",
324                "UseFIPS": false,
325                "UseDualStack": false
326            }
327        },
328        {
329            "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled",
330            "expect": {
331                "endpoint": {
332                    "url": "https://fms-fips.eu-west-2.amazonaws.com"
333                }
334            },
335            "params": {
336                "Region": "eu-west-2",
337                "UseFIPS": true,
338                "UseDualStack": false
339            }
340        },
341        {
342            "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled",
343            "expect": {
344                "endpoint": {
345                    "url": "https://fms.eu-west-3.amazonaws.com"
346                }
347            },
348            "params": {
349                "Region": "eu-west-3",
350                "UseFIPS": false,
351                "UseDualStack": false
352            }
353        },
354        {
355            "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled",
356            "expect": {
357                "endpoint": {
358                    "url": "https://fms-fips.eu-west-3.amazonaws.com"
359                }
360            },
361            "params": {
362                "Region": "eu-west-3",
363                "UseFIPS": true,
364                "UseDualStack": false
365            }
366        },
367        {
368            "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled",
369            "expect": {
370                "endpoint": {
371                    "url": "https://fms.me-south-1.amazonaws.com"
372                }
373            },
374            "params": {
375                "Region": "me-south-1",
376                "UseFIPS": false,
377                "UseDualStack": false
378            }
379        },
380        {
381            "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled",
382            "expect": {
383                "endpoint": {
384                    "url": "https://fms-fips.me-south-1.amazonaws.com"
385                }
386            },
387            "params": {
388                "Region": "me-south-1",
389                "UseFIPS": true,
390                "UseDualStack": false
391            }
392        },
393        {
394            "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled",
395            "expect": {
396                "endpoint": {
397                    "url": "https://fms.sa-east-1.amazonaws.com"
398                }
399            },
400            "params": {
401                "Region": "sa-east-1",
402                "UseFIPS": false,
403                "UseDualStack": false
404            }
405        },
406        {
407            "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled",
408            "expect": {
409                "endpoint": {
410                    "url": "https://fms-fips.sa-east-1.amazonaws.com"
411                }
412            },
413            "params": {
414                "Region": "sa-east-1",
415                "UseFIPS": true,
416                "UseDualStack": false
417            }
418        },
419        {
420            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
421            "expect": {
422                "endpoint": {
423                    "url": "https://fms.us-east-1.amazonaws.com"
424                }
425            },
426            "params": {
427                "Region": "us-east-1",
428                "UseFIPS": false,
429                "UseDualStack": false
430            }
431        },
432        {
433            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
434            "expect": {
435                "endpoint": {
436                    "url": "https://fms-fips.us-east-1.amazonaws.com"
437                }
438            },
439            "params": {
440                "Region": "us-east-1",
441                "UseFIPS": true,
442                "UseDualStack": false
443            }
444        },
445        {
446            "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled",
447            "expect": {
448                "endpoint": {
449                    "url": "https://fms.us-east-2.amazonaws.com"
450                }
451            },
452            "params": {
453                "Region": "us-east-2",
454                "UseFIPS": false,
455                "UseDualStack": false
456            }
457        },
458        {
459            "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled",
460            "expect": {
461                "endpoint": {
462                    "url": "https://fms-fips.us-east-2.amazonaws.com"
463                }
464            },
465            "params": {
466                "Region": "us-east-2",
467                "UseFIPS": true,
468                "UseDualStack": false
469            }
470        },
471        {
472            "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled",
473            "expect": {
474                "endpoint": {
475                    "url": "https://fms.us-west-1.amazonaws.com"
476                }
477            },
478            "params": {
479                "Region": "us-west-1",
480                "UseFIPS": false,
481                "UseDualStack": false
482            }
483        },
484        {
485            "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled",
486            "expect": {
487                "endpoint": {
488                    "url": "https://fms-fips.us-west-1.amazonaws.com"
489                }
490            },
491            "params": {
492                "Region": "us-west-1",
493                "UseFIPS": true,
494                "UseDualStack": false
495            }
496        },
497        {
498            "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
499            "expect": {
500                "endpoint": {
501                    "url": "https://fms.us-west-2.amazonaws.com"
502                }
503            },
504            "params": {
505                "Region": "us-west-2",
506                "UseFIPS": false,
507                "UseDualStack": false
508            }
509        },
510        {
511            "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled",
512            "expect": {
513                "endpoint": {
514                    "url": "https://fms-fips.us-west-2.amazonaws.com"
515                }
516            },
517            "params": {
518                "Region": "us-west-2",
519                "UseFIPS": true,
520                "UseDualStack": false
521            }
522        },
523        {
524            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
525            "expect": {
526                "endpoint": {
527                    "url": "https://fms-fips.us-east-1.api.aws"
528                }
529            },
530            "params": {
531                "Region": "us-east-1",
532                "UseFIPS": true,
533                "UseDualStack": true
534            }
535        },
536        {
537            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
538            "expect": {
539                "endpoint": {
540                    "url": "https://fms.us-east-1.api.aws"
541                }
542            },
543            "params": {
544                "Region": "us-east-1",
545                "UseFIPS": false,
546                "UseDualStack": true
547            }
548        },
549        {
550            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
551            "expect": {
552                "endpoint": {
553                    "url": "https://fms.cn-north-1.amazonaws.com.cn"
554                }
555            },
556            "params": {
557                "Region": "cn-north-1",
558                "UseFIPS": false,
559                "UseDualStack": false
560            }
561        },
562        {
563            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled",
564            "expect": {
565                "endpoint": {
566                    "url": "https://fms.cn-northwest-1.amazonaws.com.cn"
567                }
568            },
569            "params": {
570                "Region": "cn-northwest-1",
571                "UseFIPS": false,
572                "UseDualStack": false
573            }
574        },
575        {
576            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
577            "expect": {
578                "endpoint": {
579                    "url": "https://fms-fips.cn-north-1.api.amazonwebservices.com.cn"
580                }
581            },
582            "params": {
583                "Region": "cn-north-1",
584                "UseFIPS": true,
585                "UseDualStack": true
586            }
587        },
588        {
589            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
590            "expect": {
591                "endpoint": {
592                    "url": "https://fms-fips.cn-north-1.amazonaws.com.cn"
593                }
594            },
595            "params": {
596                "Region": "cn-north-1",
597                "UseFIPS": true,
598                "UseDualStack": false
599            }
600        },
601        {
602            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
603            "expect": {
604                "endpoint": {
605                    "url": "https://fms.cn-north-1.api.amazonwebservices.com.cn"
606                }
607            },
608            "params": {
609                "Region": "cn-north-1",
610                "UseFIPS": false,
611                "UseDualStack": true
612            }
613        },
614        {
615            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
616            "expect": {
617                "endpoint": {
618                    "url": "https://fms.us-gov-east-1.amazonaws.com"
619                }
620            },
621            "params": {
622                "Region": "us-gov-east-1",
623                "UseFIPS": false,
624                "UseDualStack": false
625            }
626        },
627        {
628            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
629            "expect": {
630                "endpoint": {
631                    "url": "https://fms-fips.us-gov-east-1.amazonaws.com"
632                }
633            },
634            "params": {
635                "Region": "us-gov-east-1",
636                "UseFIPS": true,
637                "UseDualStack": false
638            }
639        },
640        {
641            "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled",
642            "expect": {
643                "endpoint": {
644                    "url": "https://fms.us-gov-west-1.amazonaws.com"
645                }
646            },
647            "params": {
648                "Region": "us-gov-west-1",
649                "UseFIPS": false,
650                "UseDualStack": false
651            }
652        },
653        {
654            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled",
655            "expect": {
656                "endpoint": {
657                    "url": "https://fms-fips.us-gov-west-1.amazonaws.com"
658                }
659            },
660            "params": {
661                "Region": "us-gov-west-1",
662                "UseFIPS": true,
663                "UseDualStack": false
664            }
665        },
666        {
667            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
668            "expect": {
669                "endpoint": {
670                    "url": "https://fms-fips.us-gov-east-1.api.aws"
671                }
672            },
673            "params": {
674                "Region": "us-gov-east-1",
675                "UseFIPS": true,
676                "UseDualStack": true
677            }
678        },
679        {
680            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
681            "expect": {
682                "endpoint": {
683                    "url": "https://fms.us-gov-east-1.api.aws"
684                }
685            },
686            "params": {
687                "Region": "us-gov-east-1",
688                "UseFIPS": false,
689                "UseDualStack": true
690            }
691        },
692        {
693            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled",
694            "expect": {
695                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
696            },
697            "params": {
698                "Region": "us-iso-east-1",
699                "UseFIPS": true,
700                "UseDualStack": true
701            }
702        },
703        {
704            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
705            "expect": {
706                "endpoint": {
707                    "url": "https://fms-fips.us-iso-east-1.c2s.ic.gov"
708                }
709            },
710            "params": {
711                "Region": "us-iso-east-1",
712                "UseFIPS": true,
713                "UseDualStack": false
714            }
715        },
716        {
717            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled",
718            "expect": {
719                "error": "DualStack is enabled but this partition does not support DualStack"
720            },
721            "params": {
722                "Region": "us-iso-east-1",
723                "UseFIPS": false,
724                "UseDualStack": true
725            }
726        },
727        {
728            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
729            "expect": {
730                "endpoint": {
731                    "url": "https://fms.us-iso-east-1.c2s.ic.gov"
732                }
733            },
734            "params": {
735                "Region": "us-iso-east-1",
736                "UseFIPS": false,
737                "UseDualStack": false
738            }
739        },
740        {
741            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled",
742            "expect": {
743                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
744            },
745            "params": {
746                "Region": "us-isob-east-1",
747                "UseFIPS": true,
748                "UseDualStack": true
749            }
750        },
751        {
752            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
753            "expect": {
754                "endpoint": {
755                    "url": "https://fms-fips.us-isob-east-1.sc2s.sgov.gov"
756                }
757            },
758            "params": {
759                "Region": "us-isob-east-1",
760                "UseFIPS": true,
761                "UseDualStack": false
762            }
763        },
764        {
765            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled",
766            "expect": {
767                "error": "DualStack is enabled but this partition does not support DualStack"
768            },
769            "params": {
770                "Region": "us-isob-east-1",
771                "UseFIPS": false,
772                "UseDualStack": true
773            }
774        },
775        {
776            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
777            "expect": {
778                "endpoint": {
779                    "url": "https://fms.us-isob-east-1.sc2s.sgov.gov"
780                }
781            },
782            "params": {
783                "Region": "us-isob-east-1",
784                "UseFIPS": false,
785                "UseDualStack": false
786            }
787        },
788        {
789            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
790            "expect": {
791                "endpoint": {
792                    "url": "https://example.com"
793                }
794            },
795            "params": {
796                "Region": "us-east-1",
797                "UseFIPS": false,
798                "UseDualStack": false,
799                "Endpoint": "https://example.com"
800            }
801        },
802        {
803            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
804            "expect": {
805                "endpoint": {
806                    "url": "https://example.com"
807                }
808            },
809            "params": {
810                "UseFIPS": false,
811                "UseDualStack": false,
812                "Endpoint": "https://example.com"
813            }
814        },
815        {
816            "documentation": "For custom endpoint with fips enabled and dualstack disabled",
817            "expect": {
818                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
819            },
820            "params": {
821                "Region": "us-east-1",
822                "UseFIPS": true,
823                "UseDualStack": false,
824                "Endpoint": "https://example.com"
825            }
826        },
827        {
828            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
829            "expect": {
830                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
831            },
832            "params": {
833                "Region": "us-east-1",
834                "UseFIPS": false,
835                "UseDualStack": true,
836                "Endpoint": "https://example.com"
837            }
838        },
839        {
840            "documentation": "Missing region",
841            "expect": {
842                "error": "Invalid Configuration: Missing Region"
843            }
844        }
845    ],
846    "version": "1.0"
847}