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