aws_sdk_sts/config/
endpoint.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver;
3                pub use ::aws_smithy_runtime_api::client::endpoint::EndpointFuture;
4                pub use ::aws_smithy_types::endpoint::Endpoint;
5
6#[cfg(test)]
7mod test {
8    
9    /// For region af-south-1 with FIPS disabled and DualStack disabled
10                    #[test]
11                    fn test_1() {
12                        let params = crate::config::endpoint::Params::builder()
13    .region("af-south-1".to_string())
14    .use_fips(false)
15    .use_dual_stack(false)
16    .build().expect("invalid params");
17                        let resolver = crate::config::endpoint::DefaultResolver::new();
18                        let endpoint = resolver.resolve_endpoint(&params);
19                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.af-south-1.amazonaws.com");
20                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.af-south-1.amazonaws.com")
21    .build());
22                    }
23    
24    /// For region ap-east-1 with FIPS disabled and DualStack disabled
25                    #[test]
26                    fn test_2() {
27                        let params = crate::config::endpoint::Params::builder()
28    .region("ap-east-1".to_string())
29    .use_fips(false)
30    .use_dual_stack(false)
31    .build().expect("invalid params");
32                        let resolver = crate::config::endpoint::DefaultResolver::new();
33                        let endpoint = resolver.resolve_endpoint(&params);
34                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-east-1.amazonaws.com");
35                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-east-1.amazonaws.com")
36    .build());
37                    }
38    
39    /// For region ap-northeast-1 with FIPS disabled and DualStack disabled
40                    #[test]
41                    fn test_3() {
42                        let params = crate::config::endpoint::Params::builder()
43    .region("ap-northeast-1".to_string())
44    .use_fips(false)
45    .use_dual_stack(false)
46    .build().expect("invalid params");
47                        let resolver = crate::config::endpoint::DefaultResolver::new();
48                        let endpoint = resolver.resolve_endpoint(&params);
49                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-northeast-1.amazonaws.com");
50                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-northeast-1.amazonaws.com")
51    .build());
52                    }
53    
54    /// For region ap-northeast-2 with FIPS disabled and DualStack disabled
55                    #[test]
56                    fn test_4() {
57                        let params = crate::config::endpoint::Params::builder()
58    .region("ap-northeast-2".to_string())
59    .use_fips(false)
60    .use_dual_stack(false)
61    .build().expect("invalid params");
62                        let resolver = crate::config::endpoint::DefaultResolver::new();
63                        let endpoint = resolver.resolve_endpoint(&params);
64                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-northeast-2.amazonaws.com");
65                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-northeast-2.amazonaws.com")
66    .build());
67                    }
68    
69    /// For region ap-northeast-3 with FIPS disabled and DualStack disabled
70                    #[test]
71                    fn test_5() {
72                        let params = crate::config::endpoint::Params::builder()
73    .region("ap-northeast-3".to_string())
74    .use_fips(false)
75    .use_dual_stack(false)
76    .build().expect("invalid params");
77                        let resolver = crate::config::endpoint::DefaultResolver::new();
78                        let endpoint = resolver.resolve_endpoint(&params);
79                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-northeast-3.amazonaws.com");
80                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-northeast-3.amazonaws.com")
81    .build());
82                    }
83    
84    /// For region ap-south-1 with FIPS disabled and DualStack disabled
85                    #[test]
86                    fn test_6() {
87                        let params = crate::config::endpoint::Params::builder()
88    .region("ap-south-1".to_string())
89    .use_fips(false)
90    .use_dual_stack(false)
91    .build().expect("invalid params");
92                        let resolver = crate::config::endpoint::DefaultResolver::new();
93                        let endpoint = resolver.resolve_endpoint(&params);
94                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-south-1.amazonaws.com");
95                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-south-1.amazonaws.com")
96    .build());
97                    }
98    
99    /// For region ap-southeast-1 with FIPS disabled and DualStack disabled
100                    #[test]
101                    fn test_7() {
102                        let params = crate::config::endpoint::Params::builder()
103    .region("ap-southeast-1".to_string())
104    .use_fips(false)
105    .use_dual_stack(false)
106    .build().expect("invalid params");
107                        let resolver = crate::config::endpoint::DefaultResolver::new();
108                        let endpoint = resolver.resolve_endpoint(&params);
109                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-southeast-1.amazonaws.com");
110                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-southeast-1.amazonaws.com")
111    .build());
112                    }
113    
114    /// For region ap-southeast-2 with FIPS disabled and DualStack disabled
115                    #[test]
116                    fn test_8() {
117                        let params = crate::config::endpoint::Params::builder()
118    .region("ap-southeast-2".to_string())
119    .use_fips(false)
120    .use_dual_stack(false)
121    .build().expect("invalid params");
122                        let resolver = crate::config::endpoint::DefaultResolver::new();
123                        let endpoint = resolver.resolve_endpoint(&params);
124                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-southeast-2.amazonaws.com");
125                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-southeast-2.amazonaws.com")
126    .build());
127                    }
128    
129    /// For region ap-southeast-3 with FIPS disabled and DualStack disabled
130                    #[test]
131                    fn test_9() {
132                        let params = crate::config::endpoint::Params::builder()
133    .region("ap-southeast-3".to_string())
134    .use_fips(false)
135    .use_dual_stack(false)
136    .build().expect("invalid params");
137                        let resolver = crate::config::endpoint::DefaultResolver::new();
138                        let endpoint = resolver.resolve_endpoint(&params);
139                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-southeast-3.amazonaws.com");
140                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ap-southeast-3.amazonaws.com")
141    .build());
142                    }
143    
144    /// For region aws-global with FIPS disabled and DualStack disabled
145                    #[test]
146                    fn test_10() {
147                        let params = crate::config::endpoint::Params::builder()
148    .region("aws-global".to_string())
149    .use_fips(false)
150    .use_dual_stack(false)
151    .build().expect("invalid params");
152                        let resolver = crate::config::endpoint::DefaultResolver::new();
153                        let endpoint = resolver.resolve_endpoint(&params);
154                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
155                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
156    .property("authSchemes", vec![ {
157        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
158        out.insert("name".to_string(), "sigv4".to_string().into());
159        out.insert("signingName".to_string(), "sts".to_string().into());
160        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
161        out
162    }.into()])
163    .build());
164                    }
165    
166    /// For region ca-central-1 with FIPS disabled and DualStack disabled
167                    #[test]
168                    fn test_11() {
169                        let params = crate::config::endpoint::Params::builder()
170    .region("ca-central-1".to_string())
171    .use_fips(false)
172    .use_dual_stack(false)
173    .build().expect("invalid params");
174                        let resolver = crate::config::endpoint::DefaultResolver::new();
175                        let endpoint = resolver.resolve_endpoint(&params);
176                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ca-central-1.amazonaws.com");
177                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.ca-central-1.amazonaws.com")
178    .build());
179                    }
180    
181    /// For region eu-central-1 with FIPS disabled and DualStack disabled
182                    #[test]
183                    fn test_12() {
184                        let params = crate::config::endpoint::Params::builder()
185    .region("eu-central-1".to_string())
186    .use_fips(false)
187    .use_dual_stack(false)
188    .build().expect("invalid params");
189                        let resolver = crate::config::endpoint::DefaultResolver::new();
190                        let endpoint = resolver.resolve_endpoint(&params);
191                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-central-1.amazonaws.com");
192                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.eu-central-1.amazonaws.com")
193    .build());
194                    }
195    
196    /// For region eu-north-1 with FIPS disabled and DualStack disabled
197                    #[test]
198                    fn test_13() {
199                        let params = crate::config::endpoint::Params::builder()
200    .region("eu-north-1".to_string())
201    .use_fips(false)
202    .use_dual_stack(false)
203    .build().expect("invalid params");
204                        let resolver = crate::config::endpoint::DefaultResolver::new();
205                        let endpoint = resolver.resolve_endpoint(&params);
206                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-north-1.amazonaws.com");
207                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.eu-north-1.amazonaws.com")
208    .build());
209                    }
210    
211    /// For region eu-south-1 with FIPS disabled and DualStack disabled
212                    #[test]
213                    fn test_14() {
214                        let params = crate::config::endpoint::Params::builder()
215    .region("eu-south-1".to_string())
216    .use_fips(false)
217    .use_dual_stack(false)
218    .build().expect("invalid params");
219                        let resolver = crate::config::endpoint::DefaultResolver::new();
220                        let endpoint = resolver.resolve_endpoint(&params);
221                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-south-1.amazonaws.com");
222                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.eu-south-1.amazonaws.com")
223    .build());
224                    }
225    
226    /// For region eu-west-1 with FIPS disabled and DualStack disabled
227                    #[test]
228                    fn test_15() {
229                        let params = crate::config::endpoint::Params::builder()
230    .region("eu-west-1".to_string())
231    .use_fips(false)
232    .use_dual_stack(false)
233    .build().expect("invalid params");
234                        let resolver = crate::config::endpoint::DefaultResolver::new();
235                        let endpoint = resolver.resolve_endpoint(&params);
236                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-1.amazonaws.com");
237                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.eu-west-1.amazonaws.com")
238    .build());
239                    }
240    
241    /// For region eu-west-2 with FIPS disabled and DualStack disabled
242                    #[test]
243                    fn test_16() {
244                        let params = crate::config::endpoint::Params::builder()
245    .region("eu-west-2".to_string())
246    .use_fips(false)
247    .use_dual_stack(false)
248    .build().expect("invalid params");
249                        let resolver = crate::config::endpoint::DefaultResolver::new();
250                        let endpoint = resolver.resolve_endpoint(&params);
251                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-2.amazonaws.com");
252                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.eu-west-2.amazonaws.com")
253    .build());
254                    }
255    
256    /// For region eu-west-3 with FIPS disabled and DualStack disabled
257                    #[test]
258                    fn test_17() {
259                        let params = crate::config::endpoint::Params::builder()
260    .region("eu-west-3".to_string())
261    .use_fips(false)
262    .use_dual_stack(false)
263    .build().expect("invalid params");
264                        let resolver = crate::config::endpoint::DefaultResolver::new();
265                        let endpoint = resolver.resolve_endpoint(&params);
266                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-3.amazonaws.com");
267                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.eu-west-3.amazonaws.com")
268    .build());
269                    }
270    
271    /// For region me-south-1 with FIPS disabled and DualStack disabled
272                    #[test]
273                    fn test_18() {
274                        let params = crate::config::endpoint::Params::builder()
275    .region("me-south-1".to_string())
276    .use_fips(false)
277    .use_dual_stack(false)
278    .build().expect("invalid params");
279                        let resolver = crate::config::endpoint::DefaultResolver::new();
280                        let endpoint = resolver.resolve_endpoint(&params);
281                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.me-south-1.amazonaws.com");
282                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.me-south-1.amazonaws.com")
283    .build());
284                    }
285    
286    /// For region sa-east-1 with FIPS disabled and DualStack disabled
287                    #[test]
288                    fn test_19() {
289                        let params = crate::config::endpoint::Params::builder()
290    .region("sa-east-1".to_string())
291    .use_fips(false)
292    .use_dual_stack(false)
293    .build().expect("invalid params");
294                        let resolver = crate::config::endpoint::DefaultResolver::new();
295                        let endpoint = resolver.resolve_endpoint(&params);
296                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.sa-east-1.amazonaws.com");
297                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.sa-east-1.amazonaws.com")
298    .build());
299                    }
300    
301    /// For region us-east-1 with FIPS disabled and DualStack disabled
302                    #[test]
303                    fn test_20() {
304                        let params = crate::config::endpoint::Params::builder()
305    .region("us-east-1".to_string())
306    .use_fips(false)
307    .use_dual_stack(false)
308    .build().expect("invalid params");
309                        let resolver = crate::config::endpoint::DefaultResolver::new();
310                        let endpoint = resolver.resolve_endpoint(&params);
311                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-1.amazonaws.com");
312                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-east-1.amazonaws.com")
313    .build());
314                    }
315    
316    /// For region us-east-1 with FIPS enabled and DualStack disabled
317                    #[test]
318                    fn test_21() {
319                        let params = crate::config::endpoint::Params::builder()
320    .region("us-east-1".to_string())
321    .use_fips(true)
322    .use_dual_stack(false)
323    .build().expect("invalid params");
324                        let resolver = crate::config::endpoint::DefaultResolver::new();
325                        let endpoint = resolver.resolve_endpoint(&params);
326                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-1.amazonaws.com");
327                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-east-1.amazonaws.com")
328    .build());
329                    }
330    
331    /// For region us-east-2 with FIPS disabled and DualStack disabled
332                    #[test]
333                    fn test_22() {
334                        let params = crate::config::endpoint::Params::builder()
335    .region("us-east-2".to_string())
336    .use_fips(false)
337    .use_dual_stack(false)
338    .build().expect("invalid params");
339                        let resolver = crate::config::endpoint::DefaultResolver::new();
340                        let endpoint = resolver.resolve_endpoint(&params);
341                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-2.amazonaws.com");
342                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-east-2.amazonaws.com")
343    .build());
344                    }
345    
346    /// For region us-east-2 with FIPS enabled and DualStack disabled
347                    #[test]
348                    fn test_23() {
349                        let params = crate::config::endpoint::Params::builder()
350    .region("us-east-2".to_string())
351    .use_fips(true)
352    .use_dual_stack(false)
353    .build().expect("invalid params");
354                        let resolver = crate::config::endpoint::DefaultResolver::new();
355                        let endpoint = resolver.resolve_endpoint(&params);
356                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-2.amazonaws.com");
357                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-east-2.amazonaws.com")
358    .build());
359                    }
360    
361    /// For region us-west-1 with FIPS disabled and DualStack disabled
362                    #[test]
363                    fn test_24() {
364                        let params = crate::config::endpoint::Params::builder()
365    .region("us-west-1".to_string())
366    .use_fips(false)
367    .use_dual_stack(false)
368    .build().expect("invalid params");
369                        let resolver = crate::config::endpoint::DefaultResolver::new();
370                        let endpoint = resolver.resolve_endpoint(&params);
371                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-west-1.amazonaws.com");
372                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-west-1.amazonaws.com")
373    .build());
374                    }
375    
376    /// For region us-west-1 with FIPS enabled and DualStack disabled
377                    #[test]
378                    fn test_25() {
379                        let params = crate::config::endpoint::Params::builder()
380    .region("us-west-1".to_string())
381    .use_fips(true)
382    .use_dual_stack(false)
383    .build().expect("invalid params");
384                        let resolver = crate::config::endpoint::DefaultResolver::new();
385                        let endpoint = resolver.resolve_endpoint(&params);
386                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-west-1.amazonaws.com");
387                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-west-1.amazonaws.com")
388    .build());
389                    }
390    
391    /// For region us-west-2 with FIPS disabled and DualStack disabled
392                    #[test]
393                    fn test_26() {
394                        let params = crate::config::endpoint::Params::builder()
395    .region("us-west-2".to_string())
396    .use_fips(false)
397    .use_dual_stack(false)
398    .build().expect("invalid params");
399                        let resolver = crate::config::endpoint::DefaultResolver::new();
400                        let endpoint = resolver.resolve_endpoint(&params);
401                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-west-2.amazonaws.com");
402                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-west-2.amazonaws.com")
403    .build());
404                    }
405    
406    /// For region us-west-2 with FIPS enabled and DualStack disabled
407                    #[test]
408                    fn test_27() {
409                        let params = crate::config::endpoint::Params::builder()
410    .region("us-west-2".to_string())
411    .use_fips(true)
412    .use_dual_stack(false)
413    .build().expect("invalid params");
414                        let resolver = crate::config::endpoint::DefaultResolver::new();
415                        let endpoint = resolver.resolve_endpoint(&params);
416                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-west-2.amazonaws.com");
417                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-west-2.amazonaws.com")
418    .build());
419                    }
420    
421    /// For region us-east-1 with FIPS enabled and DualStack enabled
422                    #[test]
423                    fn test_28() {
424                        let params = crate::config::endpoint::Params::builder()
425    .region("us-east-1".to_string())
426    .use_fips(true)
427    .use_dual_stack(true)
428    .build().expect("invalid params");
429                        let resolver = crate::config::endpoint::DefaultResolver::new();
430                        let endpoint = resolver.resolve_endpoint(&params);
431                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-1.api.aws");
432                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-east-1.api.aws")
433    .build());
434                    }
435    
436    /// For region us-east-1 with FIPS disabled and DualStack enabled
437                    #[test]
438                    fn test_29() {
439                        let params = crate::config::endpoint::Params::builder()
440    .region("us-east-1".to_string())
441    .use_fips(false)
442    .use_dual_stack(true)
443    .build().expect("invalid params");
444                        let resolver = crate::config::endpoint::DefaultResolver::new();
445                        let endpoint = resolver.resolve_endpoint(&params);
446                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-1.api.aws");
447                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-east-1.api.aws")
448    .build());
449                    }
450    
451    /// For region cn-north-1 with FIPS disabled and DualStack disabled
452                    #[test]
453                    fn test_30() {
454                        let params = crate::config::endpoint::Params::builder()
455    .region("cn-north-1".to_string())
456    .use_fips(false)
457    .use_dual_stack(false)
458    .build().expect("invalid params");
459                        let resolver = crate::config::endpoint::DefaultResolver::new();
460                        let endpoint = resolver.resolve_endpoint(&params);
461                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-north-1.amazonaws.com.cn");
462                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.cn-north-1.amazonaws.com.cn")
463    .build());
464                    }
465    
466    /// For region cn-northwest-1 with FIPS disabled and DualStack disabled
467                    #[test]
468                    fn test_31() {
469                        let params = crate::config::endpoint::Params::builder()
470    .region("cn-northwest-1".to_string())
471    .use_fips(false)
472    .use_dual_stack(false)
473    .build().expect("invalid params");
474                        let resolver = crate::config::endpoint::DefaultResolver::new();
475                        let endpoint = resolver.resolve_endpoint(&params);
476                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-northwest-1.amazonaws.com.cn");
477                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.cn-northwest-1.amazonaws.com.cn")
478    .build());
479                    }
480    
481    /// For region cn-north-1 with FIPS enabled and DualStack enabled
482                    #[test]
483                    fn test_32() {
484                        let params = crate::config::endpoint::Params::builder()
485    .region("cn-north-1".to_string())
486    .use_fips(true)
487    .use_dual_stack(true)
488    .build().expect("invalid params");
489                        let resolver = crate::config::endpoint::DefaultResolver::new();
490                        let endpoint = resolver.resolve_endpoint(&params);
491                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.cn-north-1.api.amazonwebservices.com.cn");
492                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.cn-north-1.api.amazonwebservices.com.cn")
493    .build());
494                    }
495    
496    /// For region cn-north-1 with FIPS enabled and DualStack disabled
497                    #[test]
498                    fn test_33() {
499                        let params = crate::config::endpoint::Params::builder()
500    .region("cn-north-1".to_string())
501    .use_fips(true)
502    .use_dual_stack(false)
503    .build().expect("invalid params");
504                        let resolver = crate::config::endpoint::DefaultResolver::new();
505                        let endpoint = resolver.resolve_endpoint(&params);
506                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.cn-north-1.amazonaws.com.cn");
507                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.cn-north-1.amazonaws.com.cn")
508    .build());
509                    }
510    
511    /// For region cn-north-1 with FIPS disabled and DualStack enabled
512                    #[test]
513                    fn test_34() {
514                        let params = crate::config::endpoint::Params::builder()
515    .region("cn-north-1".to_string())
516    .use_fips(false)
517    .use_dual_stack(true)
518    .build().expect("invalid params");
519                        let resolver = crate::config::endpoint::DefaultResolver::new();
520                        let endpoint = resolver.resolve_endpoint(&params);
521                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-north-1.api.amazonwebservices.com.cn");
522                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.cn-north-1.api.amazonwebservices.com.cn")
523    .build());
524                    }
525    
526    /// For region us-gov-east-1 with FIPS disabled and DualStack disabled
527                    #[test]
528                    fn test_35() {
529                        let params = crate::config::endpoint::Params::builder()
530    .region("us-gov-east-1".to_string())
531    .use_fips(false)
532    .use_dual_stack(false)
533    .build().expect("invalid params");
534                        let resolver = crate::config::endpoint::DefaultResolver::new();
535                        let endpoint = resolver.resolve_endpoint(&params);
536                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.amazonaws.com");
537                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-gov-east-1.amazonaws.com")
538    .build());
539                    }
540    
541    /// For region us-gov-east-1 with FIPS enabled and DualStack disabled
542                    #[test]
543                    fn test_36() {
544                        let params = crate::config::endpoint::Params::builder()
545    .region("us-gov-east-1".to_string())
546    .use_fips(true)
547    .use_dual_stack(false)
548    .build().expect("invalid params");
549                        let resolver = crate::config::endpoint::DefaultResolver::new();
550                        let endpoint = resolver.resolve_endpoint(&params);
551                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.amazonaws.com");
552                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-gov-east-1.amazonaws.com")
553    .build());
554                    }
555    
556    /// For region us-gov-west-1 with FIPS disabled and DualStack disabled
557                    #[test]
558                    fn test_37() {
559                        let params = crate::config::endpoint::Params::builder()
560    .region("us-gov-west-1".to_string())
561    .use_fips(false)
562    .use_dual_stack(false)
563    .build().expect("invalid params");
564                        let resolver = crate::config::endpoint::DefaultResolver::new();
565                        let endpoint = resolver.resolve_endpoint(&params);
566                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-west-1.amazonaws.com");
567                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-gov-west-1.amazonaws.com")
568    .build());
569                    }
570    
571    /// For region us-gov-west-1 with FIPS enabled and DualStack disabled
572                    #[test]
573                    fn test_38() {
574                        let params = crate::config::endpoint::Params::builder()
575    .region("us-gov-west-1".to_string())
576    .use_fips(true)
577    .use_dual_stack(false)
578    .build().expect("invalid params");
579                        let resolver = crate::config::endpoint::DefaultResolver::new();
580                        let endpoint = resolver.resolve_endpoint(&params);
581                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-west-1.amazonaws.com");
582                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-gov-west-1.amazonaws.com")
583    .build());
584                    }
585    
586    /// For region us-gov-east-1 with FIPS enabled and DualStack enabled
587                    #[test]
588                    fn test_39() {
589                        let params = crate::config::endpoint::Params::builder()
590    .region("us-gov-east-1".to_string())
591    .use_fips(true)
592    .use_dual_stack(true)
593    .build().expect("invalid params");
594                        let resolver = crate::config::endpoint::DefaultResolver::new();
595                        let endpoint = resolver.resolve_endpoint(&params);
596                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-gov-east-1.api.aws");
597                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-gov-east-1.api.aws")
598    .build());
599                    }
600    
601    /// For region us-gov-east-1 with FIPS disabled and DualStack enabled
602                    #[test]
603                    fn test_40() {
604                        let params = crate::config::endpoint::Params::builder()
605    .region("us-gov-east-1".to_string())
606    .use_fips(false)
607    .use_dual_stack(true)
608    .build().expect("invalid params");
609                        let resolver = crate::config::endpoint::DefaultResolver::new();
610                        let endpoint = resolver.resolve_endpoint(&params);
611                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.api.aws");
612                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-gov-east-1.api.aws")
613    .build());
614                    }
615    
616    /// For region us-iso-east-1 with FIPS disabled and DualStack disabled
617                    #[test]
618                    fn test_41() {
619                        let params = crate::config::endpoint::Params::builder()
620    .region("us-iso-east-1".to_string())
621    .use_fips(false)
622    .use_dual_stack(false)
623    .build().expect("invalid params");
624                        let resolver = crate::config::endpoint::DefaultResolver::new();
625                        let endpoint = resolver.resolve_endpoint(&params);
626                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-iso-east-1.c2s.ic.gov");
627                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-iso-east-1.c2s.ic.gov")
628    .build());
629                    }
630    
631    /// For region us-iso-west-1 with FIPS disabled and DualStack disabled
632                    #[test]
633                    fn test_42() {
634                        let params = crate::config::endpoint::Params::builder()
635    .region("us-iso-west-1".to_string())
636    .use_fips(false)
637    .use_dual_stack(false)
638    .build().expect("invalid params");
639                        let resolver = crate::config::endpoint::DefaultResolver::new();
640                        let endpoint = resolver.resolve_endpoint(&params);
641                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-iso-west-1.c2s.ic.gov");
642                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-iso-west-1.c2s.ic.gov")
643    .build());
644                    }
645    
646    /// For region us-iso-east-1 with FIPS enabled and DualStack enabled
647                    #[test]
648                    fn test_43() {
649                        let params = crate::config::endpoint::Params::builder()
650    .region("us-iso-east-1".to_string())
651    .use_fips(true)
652    .use_dual_stack(true)
653    .build().expect("invalid params");
654                        let resolver = crate::config::endpoint::DefaultResolver::new();
655                        let endpoint = resolver.resolve_endpoint(&params);
656                        let error = endpoint.expect_err("expected error: FIPS and DualStack are enabled, but this partition does not support one or both [For region us-iso-east-1 with FIPS enabled and DualStack enabled]");
657                                    assert_eq!(format!("{}", error), "FIPS and DualStack are enabled, but this partition does not support one or both")
658                    }
659    
660    /// For region us-iso-east-1 with FIPS enabled and DualStack disabled
661                    #[test]
662                    fn test_44() {
663                        let params = crate::config::endpoint::Params::builder()
664    .region("us-iso-east-1".to_string())
665    .use_fips(true)
666    .use_dual_stack(false)
667    .build().expect("invalid params");
668                        let resolver = crate::config::endpoint::DefaultResolver::new();
669                        let endpoint = resolver.resolve_endpoint(&params);
670                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-iso-east-1.c2s.ic.gov");
671                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-iso-east-1.c2s.ic.gov")
672    .build());
673                    }
674    
675    /// For region us-iso-east-1 with FIPS disabled and DualStack enabled
676                    #[test]
677                    fn test_45() {
678                        let params = crate::config::endpoint::Params::builder()
679    .region("us-iso-east-1".to_string())
680    .use_fips(false)
681    .use_dual_stack(true)
682    .build().expect("invalid params");
683                        let resolver = crate::config::endpoint::DefaultResolver::new();
684                        let endpoint = resolver.resolve_endpoint(&params);
685                        let error = endpoint.expect_err("expected error: DualStack is enabled but this partition does not support DualStack [For region us-iso-east-1 with FIPS disabled and DualStack enabled]");
686                                    assert_eq!(format!("{}", error), "DualStack is enabled but this partition does not support DualStack")
687                    }
688    
689    /// For region us-isob-east-1 with FIPS disabled and DualStack disabled
690                    #[test]
691                    fn test_46() {
692                        let params = crate::config::endpoint::Params::builder()
693    .region("us-isob-east-1".to_string())
694    .use_fips(false)
695    .use_dual_stack(false)
696    .build().expect("invalid params");
697                        let resolver = crate::config::endpoint::DefaultResolver::new();
698                        let endpoint = resolver.resolve_endpoint(&params);
699                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-isob-east-1.sc2s.sgov.gov");
700                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-isob-east-1.sc2s.sgov.gov")
701    .build());
702                    }
703    
704    /// For region us-isob-east-1 with FIPS enabled and DualStack enabled
705                    #[test]
706                    fn test_47() {
707                        let params = crate::config::endpoint::Params::builder()
708    .region("us-isob-east-1".to_string())
709    .use_fips(true)
710    .use_dual_stack(true)
711    .build().expect("invalid params");
712                        let resolver = crate::config::endpoint::DefaultResolver::new();
713                        let endpoint = resolver.resolve_endpoint(&params);
714                        let error = endpoint.expect_err("expected error: FIPS and DualStack are enabled, but this partition does not support one or both [For region us-isob-east-1 with FIPS enabled and DualStack enabled]");
715                                    assert_eq!(format!("{}", error), "FIPS and DualStack are enabled, but this partition does not support one or both")
716                    }
717    
718    /// For region us-isob-east-1 with FIPS enabled and DualStack disabled
719                    #[test]
720                    fn test_48() {
721                        let params = crate::config::endpoint::Params::builder()
722    .region("us-isob-east-1".to_string())
723    .use_fips(true)
724    .use_dual_stack(false)
725    .build().expect("invalid params");
726                        let resolver = crate::config::endpoint::DefaultResolver::new();
727                        let endpoint = resolver.resolve_endpoint(&params);
728                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-isob-east-1.sc2s.sgov.gov");
729                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts-fips.us-isob-east-1.sc2s.sgov.gov")
730    .build());
731                    }
732    
733    /// For region us-isob-east-1 with FIPS disabled and DualStack enabled
734                    #[test]
735                    fn test_49() {
736                        let params = crate::config::endpoint::Params::builder()
737    .region("us-isob-east-1".to_string())
738    .use_fips(false)
739    .use_dual_stack(true)
740    .build().expect("invalid params");
741                        let resolver = crate::config::endpoint::DefaultResolver::new();
742                        let endpoint = resolver.resolve_endpoint(&params);
743                        let error = endpoint.expect_err("expected error: DualStack is enabled but this partition does not support DualStack [For region us-isob-east-1 with FIPS disabled and DualStack enabled]");
744                                    assert_eq!(format!("{}", error), "DualStack is enabled but this partition does not support DualStack")
745                    }
746    
747    /// For custom endpoint with region set and fips disabled and dualstack disabled
748                    #[test]
749                    fn test_50() {
750                        let params = crate::config::endpoint::Params::builder()
751    .region("us-east-1".to_string())
752    .use_fips(false)
753    .use_dual_stack(false)
754    .endpoint("https://example.com".to_string())
755    .build().expect("invalid params");
756                        let resolver = crate::config::endpoint::DefaultResolver::new();
757                        let endpoint = resolver.resolve_endpoint(&params);
758                        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
759                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com")
760    .build());
761                    }
762    
763    /// For custom endpoint with region not set and fips disabled and dualstack disabled
764                    #[test]
765                    fn test_51() {
766                        let params = crate::config::endpoint::Params::builder()
767    .use_fips(false)
768    .use_dual_stack(false)
769    .endpoint("https://example.com".to_string())
770    .build().expect("invalid params");
771                        let resolver = crate::config::endpoint::DefaultResolver::new();
772                        let endpoint = resolver.resolve_endpoint(&params);
773                        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
774                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com")
775    .build());
776                    }
777    
778    /// For custom endpoint with fips enabled and dualstack disabled
779                    #[test]
780                    fn test_52() {
781                        let params = crate::config::endpoint::Params::builder()
782    .region("us-east-1".to_string())
783    .use_fips(true)
784    .use_dual_stack(false)
785    .endpoint("https://example.com".to_string())
786    .build().expect("invalid params");
787                        let resolver = crate::config::endpoint::DefaultResolver::new();
788                        let endpoint = resolver.resolve_endpoint(&params);
789                        let error = endpoint.expect_err("expected error: Invalid Configuration: FIPS and custom endpoint are not supported [For custom endpoint with fips enabled and dualstack disabled]");
790                                    assert_eq!(format!("{}", error), "Invalid Configuration: FIPS and custom endpoint are not supported")
791                    }
792    
793    /// For custom endpoint with fips disabled and dualstack enabled
794                    #[test]
795                    fn test_53() {
796                        let params = crate::config::endpoint::Params::builder()
797    .region("us-east-1".to_string())
798    .use_fips(false)
799    .use_dual_stack(true)
800    .endpoint("https://example.com".to_string())
801    .build().expect("invalid params");
802                        let resolver = crate::config::endpoint::DefaultResolver::new();
803                        let endpoint = resolver.resolve_endpoint(&params);
804                        let error = endpoint.expect_err("expected error: Invalid Configuration: Dualstack and custom endpoint are not supported [For custom endpoint with fips disabled and dualstack enabled]");
805                                    assert_eq!(format!("{}", error), "Invalid Configuration: Dualstack and custom endpoint are not supported")
806                    }
807    
808    /// Missing region
809                    #[test]
810                    fn test_54() {
811                        let params = crate::config::endpoint::Params::builder()
812    .build().expect("invalid params");
813                        let resolver = crate::config::endpoint::DefaultResolver::new();
814                        let endpoint = resolver.resolve_endpoint(&params);
815                        let error = endpoint.expect_err("expected error: Invalid Configuration: Missing Region [Missing region]");
816                                    assert_eq!(format!("{}", error), "Invalid Configuration: Missing Region")
817                    }
818    
819    /// UseGlobalEndpoint with legacy region `ap-northeast-1`
820                    #[test]
821                    fn test_55() {
822                        let params = crate::config::endpoint::Params::builder()
823    .region("ap-northeast-1".to_string())
824    .use_fips(false)
825    .use_dual_stack(false)
826    .use_global_endpoint(true)
827    .build().expect("invalid params");
828                        let resolver = crate::config::endpoint::DefaultResolver::new();
829                        let endpoint = resolver.resolve_endpoint(&params);
830                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
831                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
832    .property("authSchemes", vec![ {
833        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
834        out.insert("name".to_string(), "sigv4".to_string().into());
835        out.insert("signingName".to_string(), "sts".to_string().into());
836        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
837        out
838    }.into()])
839    .build());
840                    }
841    
842    /// UseGlobalEndpoint with legacy region `ap-south-1`
843                    #[test]
844                    fn test_56() {
845                        let params = crate::config::endpoint::Params::builder()
846    .region("ap-south-1".to_string())
847    .use_fips(false)
848    .use_dual_stack(false)
849    .use_global_endpoint(true)
850    .build().expect("invalid params");
851                        let resolver = crate::config::endpoint::DefaultResolver::new();
852                        let endpoint = resolver.resolve_endpoint(&params);
853                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
854                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
855    .property("authSchemes", vec![ {
856        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
857        out.insert("name".to_string(), "sigv4".to_string().into());
858        out.insert("signingName".to_string(), "sts".to_string().into());
859        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
860        out
861    }.into()])
862    .build());
863                    }
864    
865    /// UseGlobalEndpoint with legacy region `ap-southeast-1`
866                    #[test]
867                    fn test_57() {
868                        let params = crate::config::endpoint::Params::builder()
869    .region("ap-southeast-1".to_string())
870    .use_fips(false)
871    .use_dual_stack(false)
872    .use_global_endpoint(true)
873    .build().expect("invalid params");
874                        let resolver = crate::config::endpoint::DefaultResolver::new();
875                        let endpoint = resolver.resolve_endpoint(&params);
876                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
877                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
878    .property("authSchemes", vec![ {
879        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
880        out.insert("name".to_string(), "sigv4".to_string().into());
881        out.insert("signingName".to_string(), "sts".to_string().into());
882        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
883        out
884    }.into()])
885    .build());
886                    }
887    
888    /// UseGlobalEndpoint with legacy region `ap-southeast-2`
889                    #[test]
890                    fn test_58() {
891                        let params = crate::config::endpoint::Params::builder()
892    .region("ap-southeast-2".to_string())
893    .use_fips(false)
894    .use_dual_stack(false)
895    .use_global_endpoint(true)
896    .build().expect("invalid params");
897                        let resolver = crate::config::endpoint::DefaultResolver::new();
898                        let endpoint = resolver.resolve_endpoint(&params);
899                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
900                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
901    .property("authSchemes", vec![ {
902        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
903        out.insert("name".to_string(), "sigv4".to_string().into());
904        out.insert("signingName".to_string(), "sts".to_string().into());
905        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
906        out
907    }.into()])
908    .build());
909                    }
910    
911    /// UseGlobalEndpoint with legacy region `aws-global`
912                    #[test]
913                    fn test_59() {
914                        let params = crate::config::endpoint::Params::builder()
915    .region("aws-global".to_string())
916    .use_fips(false)
917    .use_dual_stack(false)
918    .use_global_endpoint(true)
919    .build().expect("invalid params");
920                        let resolver = crate::config::endpoint::DefaultResolver::new();
921                        let endpoint = resolver.resolve_endpoint(&params);
922                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
923                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
924    .property("authSchemes", vec![ {
925        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
926        out.insert("name".to_string(), "sigv4".to_string().into());
927        out.insert("signingName".to_string(), "sts".to_string().into());
928        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
929        out
930    }.into()])
931    .build());
932                    }
933    
934    /// UseGlobalEndpoint with legacy region `ca-central-1`
935                    #[test]
936                    fn test_60() {
937                        let params = crate::config::endpoint::Params::builder()
938    .region("ca-central-1".to_string())
939    .use_fips(false)
940    .use_dual_stack(false)
941    .use_global_endpoint(true)
942    .build().expect("invalid params");
943                        let resolver = crate::config::endpoint::DefaultResolver::new();
944                        let endpoint = resolver.resolve_endpoint(&params);
945                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
946                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
947    .property("authSchemes", vec![ {
948        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
949        out.insert("name".to_string(), "sigv4".to_string().into());
950        out.insert("signingName".to_string(), "sts".to_string().into());
951        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
952        out
953    }.into()])
954    .build());
955                    }
956    
957    /// UseGlobalEndpoint with legacy region `eu-central-1`
958                    #[test]
959                    fn test_61() {
960                        let params = crate::config::endpoint::Params::builder()
961    .region("eu-central-1".to_string())
962    .use_fips(false)
963    .use_dual_stack(false)
964    .use_global_endpoint(true)
965    .build().expect("invalid params");
966                        let resolver = crate::config::endpoint::DefaultResolver::new();
967                        let endpoint = resolver.resolve_endpoint(&params);
968                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
969                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
970    .property("authSchemes", vec![ {
971        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
972        out.insert("name".to_string(), "sigv4".to_string().into());
973        out.insert("signingName".to_string(), "sts".to_string().into());
974        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
975        out
976    }.into()])
977    .build());
978                    }
979    
980    /// UseGlobalEndpoint with legacy region `eu-north-1`
981                    #[test]
982                    fn test_62() {
983                        let params = crate::config::endpoint::Params::builder()
984    .region("eu-north-1".to_string())
985    .use_fips(false)
986    .use_dual_stack(false)
987    .use_global_endpoint(true)
988    .build().expect("invalid params");
989                        let resolver = crate::config::endpoint::DefaultResolver::new();
990                        let endpoint = resolver.resolve_endpoint(&params);
991                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
992                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
993    .property("authSchemes", vec![ {
994        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
995        out.insert("name".to_string(), "sigv4".to_string().into());
996        out.insert("signingName".to_string(), "sts".to_string().into());
997        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
998        out
999    }.into()])
1000    .build());
1001                    }
1002    
1003    /// UseGlobalEndpoint with legacy region `eu-west-1`
1004                    #[test]
1005                    fn test_63() {
1006                        let params = crate::config::endpoint::Params::builder()
1007    .region("eu-west-1".to_string())
1008    .use_fips(false)
1009    .use_dual_stack(false)
1010    .use_global_endpoint(true)
1011    .build().expect("invalid params");
1012                        let resolver = crate::config::endpoint::DefaultResolver::new();
1013                        let endpoint = resolver.resolve_endpoint(&params);
1014                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1015                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1016    .property("authSchemes", vec![ {
1017        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1018        out.insert("name".to_string(), "sigv4".to_string().into());
1019        out.insert("signingName".to_string(), "sts".to_string().into());
1020        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1021        out
1022    }.into()])
1023    .build());
1024                    }
1025    
1026    /// UseGlobalEndpoint with legacy region `eu-west-2`
1027                    #[test]
1028                    fn test_64() {
1029                        let params = crate::config::endpoint::Params::builder()
1030    .region("eu-west-2".to_string())
1031    .use_fips(false)
1032    .use_dual_stack(false)
1033    .use_global_endpoint(true)
1034    .build().expect("invalid params");
1035                        let resolver = crate::config::endpoint::DefaultResolver::new();
1036                        let endpoint = resolver.resolve_endpoint(&params);
1037                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1038                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1039    .property("authSchemes", vec![ {
1040        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1041        out.insert("name".to_string(), "sigv4".to_string().into());
1042        out.insert("signingName".to_string(), "sts".to_string().into());
1043        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1044        out
1045    }.into()])
1046    .build());
1047                    }
1048    
1049    /// UseGlobalEndpoint with legacy region `eu-west-3`
1050                    #[test]
1051                    fn test_65() {
1052                        let params = crate::config::endpoint::Params::builder()
1053    .region("eu-west-3".to_string())
1054    .use_fips(false)
1055    .use_dual_stack(false)
1056    .use_global_endpoint(true)
1057    .build().expect("invalid params");
1058                        let resolver = crate::config::endpoint::DefaultResolver::new();
1059                        let endpoint = resolver.resolve_endpoint(&params);
1060                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1061                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1062    .property("authSchemes", vec![ {
1063        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1064        out.insert("name".to_string(), "sigv4".to_string().into());
1065        out.insert("signingName".to_string(), "sts".to_string().into());
1066        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1067        out
1068    }.into()])
1069    .build());
1070                    }
1071    
1072    /// UseGlobalEndpoint with legacy region `sa-east-1`
1073                    #[test]
1074                    fn test_66() {
1075                        let params = crate::config::endpoint::Params::builder()
1076    .region("sa-east-1".to_string())
1077    .use_fips(false)
1078    .use_dual_stack(false)
1079    .use_global_endpoint(true)
1080    .build().expect("invalid params");
1081                        let resolver = crate::config::endpoint::DefaultResolver::new();
1082                        let endpoint = resolver.resolve_endpoint(&params);
1083                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1084                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1085    .property("authSchemes", vec![ {
1086        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1087        out.insert("name".to_string(), "sigv4".to_string().into());
1088        out.insert("signingName".to_string(), "sts".to_string().into());
1089        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1090        out
1091    }.into()])
1092    .build());
1093                    }
1094    
1095    /// UseGlobalEndpoint with legacy region `us-east-1`
1096                    #[test]
1097                    fn test_67() {
1098                        let params = crate::config::endpoint::Params::builder()
1099    .region("us-east-1".to_string())
1100    .use_fips(false)
1101    .use_dual_stack(false)
1102    .use_global_endpoint(true)
1103    .build().expect("invalid params");
1104                        let resolver = crate::config::endpoint::DefaultResolver::new();
1105                        let endpoint = resolver.resolve_endpoint(&params);
1106                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1107                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1108    .property("authSchemes", vec![ {
1109        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1110        out.insert("name".to_string(), "sigv4".to_string().into());
1111        out.insert("signingName".to_string(), "sts".to_string().into());
1112        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1113        out
1114    }.into()])
1115    .build());
1116                    }
1117    
1118    /// UseGlobalEndpoint with legacy region `us-east-2`
1119                    #[test]
1120                    fn test_68() {
1121                        let params = crate::config::endpoint::Params::builder()
1122    .region("us-east-2".to_string())
1123    .use_fips(false)
1124    .use_dual_stack(false)
1125    .use_global_endpoint(true)
1126    .build().expect("invalid params");
1127                        let resolver = crate::config::endpoint::DefaultResolver::new();
1128                        let endpoint = resolver.resolve_endpoint(&params);
1129                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1130                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1131    .property("authSchemes", vec![ {
1132        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1133        out.insert("name".to_string(), "sigv4".to_string().into());
1134        out.insert("signingName".to_string(), "sts".to_string().into());
1135        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1136        out
1137    }.into()])
1138    .build());
1139                    }
1140    
1141    /// UseGlobalEndpoint with legacy region `us-west-1`
1142                    #[test]
1143                    fn test_69() {
1144                        let params = crate::config::endpoint::Params::builder()
1145    .region("us-west-1".to_string())
1146    .use_fips(false)
1147    .use_dual_stack(false)
1148    .use_global_endpoint(true)
1149    .build().expect("invalid params");
1150                        let resolver = crate::config::endpoint::DefaultResolver::new();
1151                        let endpoint = resolver.resolve_endpoint(&params);
1152                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1153                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1154    .property("authSchemes", vec![ {
1155        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1156        out.insert("name".to_string(), "sigv4".to_string().into());
1157        out.insert("signingName".to_string(), "sts".to_string().into());
1158        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1159        out
1160    }.into()])
1161    .build());
1162                    }
1163    
1164    /// UseGlobalEndpoint with legacy region `us-west-2`
1165                    #[test]
1166                    fn test_70() {
1167                        let params = crate::config::endpoint::Params::builder()
1168    .region("us-west-2".to_string())
1169    .use_fips(false)
1170    .use_dual_stack(false)
1171    .use_global_endpoint(true)
1172    .build().expect("invalid params");
1173                        let resolver = crate::config::endpoint::DefaultResolver::new();
1174                        let endpoint = resolver.resolve_endpoint(&params);
1175                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1176                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.amazonaws.com")
1177    .property("authSchemes", vec![ {
1178        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1179        out.insert("name".to_string(), "sigv4".to_string().into());
1180        out.insert("signingName".to_string(), "sts".to_string().into());
1181        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1182        out
1183    }.into()])
1184    .build());
1185                    }
1186    
1187    /// UseGlobalEndpoint with Non-legacy region `us-east-3`
1188                    #[test]
1189                    fn test_71() {
1190                        let params = crate::config::endpoint::Params::builder()
1191    .region("us-east-3".to_string())
1192    .use_fips(false)
1193    .use_dual_stack(false)
1194    .use_global_endpoint(true)
1195    .build().expect("invalid params");
1196                        let resolver = crate::config::endpoint::DefaultResolver::new();
1197                        let endpoint = resolver.resolve_endpoint(&params);
1198                        let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-3.amazonaws.com");
1199                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://sts.us-east-3.amazonaws.com")
1200    .property("authSchemes", vec![ {
1201        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1202        out.insert("name".to_string(), "sigv4".to_string().into());
1203        out.insert("signingName".to_string(), "sts".to_string().into());
1204        out.insert("signingRegion".to_string(), "us-east-3".to_string().into());
1205        out
1206    }.into()])
1207    .build());
1208                    }
1209    
1210    /// UseGlobalEndpoint with legacy region and custom endpoint
1211                    #[test]
1212                    fn test_72() {
1213                        let params = crate::config::endpoint::Params::builder()
1214    .region("us-west-1".to_string())
1215    .use_fips(false)
1216    .use_dual_stack(false)
1217    .use_global_endpoint(true)
1218    .endpoint("https://example.com".to_string())
1219    .build().expect("invalid params");
1220                        let resolver = crate::config::endpoint::DefaultResolver::new();
1221                        let endpoint = resolver.resolve_endpoint(&params);
1222                        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1223                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com")
1224    .build());
1225                    }
1226    
1227    /// UseGlobalEndpoint with unset region and custom endpoint
1228                    #[test]
1229                    fn test_73() {
1230                        let params = crate::config::endpoint::Params::builder()
1231    .use_fips(false)
1232    .use_dual_stack(false)
1233    .use_global_endpoint(false)
1234    .endpoint("https://example.com".to_string())
1235    .build().expect("invalid params");
1236                        let resolver = crate::config::endpoint::DefaultResolver::new();
1237                        let endpoint = resolver.resolve_endpoint(&params);
1238                        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1239                                    assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com")
1240    .build());
1241                    }
1242    
1243    
1244}
1245
1246/// Endpoint resolver trait specific to AWS Security Token Service
1247            pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
1248                /// Resolve an endpoint with the given parameters
1249                fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
1250
1251                /// Convert this service-specific resolver into a `SharedEndpointResolver`
1252                ///
1253                /// The resulting resolver will downcast `EndpointResolverParams` into `crate::config::endpoint::Params`.
1254                fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
1255                where
1256                    Self: Sized + 'static,
1257                {
1258                    ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
1259                }
1260            }
1261
1262            #[derive(Debug)]
1263            struct DowncastParams<T>(T);
1264            impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
1265            where
1266                T: ResolveEndpoint,
1267            {
1268                fn resolve_endpoint<'a>(&'a self, params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
1269                    let ep = match params.get::<crate::config::endpoint::Params>() {
1270                        Some(params) => self.0.resolve_endpoint(params),
1271                        None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
1272                    };
1273                    ep
1274                }
1275                
1276            }
1277
1278/// The default endpoint resolver
1279                #[derive(Debug, Default)]
1280                pub struct DefaultResolver {
1281                    partition_resolver: crate::endpoint_lib::partition::PartitionResolver
1282                }
1283
1284                impl DefaultResolver {
1285                    /// Create a new endpoint resolver with default settings
1286                    pub fn new() -> Self {
1287                        Self { partition_resolver: crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER.clone() }
1288                    }
1289
1290                    fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
1291                        let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
1292                        Ok(crate::config::endpoint::internals::resolve_endpoint(params, &mut diagnostic_collector, &self.partition_resolver)
1293                            .map_err(|err|err.with_source(diagnostic_collector.take_last_error()))?)
1294                    }
1295                }
1296
1297                impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
1298                    fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture {
1299                        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(self.resolve_endpoint(params))
1300                    }
1301                }
1302
1303#[non_exhaustive]
1304#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
1305/// Configuration parameters for resolving the correct endpoint
1306pub struct Params {
1307    /// The AWS region used to dispatch the request.
1308    pub(crate) region: ::std::option::Option<::std::string::String>,
1309    /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
1310    pub(crate) use_dual_stack: bool,
1311    /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
1312    pub(crate) use_fips: bool,
1313    /// Override the endpoint used to send this request
1314    pub(crate) endpoint: ::std::option::Option<::std::string::String>,
1315    /// Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.
1316    pub(crate) use_global_endpoint: bool,
1317}
1318impl Params {
1319    /// Create a builder for [`Params`]
1320                    pub fn builder() -> crate::config::endpoint::ParamsBuilder {
1321                        crate::config::endpoint::ParamsBuilder::default()
1322                    }
1323    /// The AWS region used to dispatch the request.
1324    pub fn region(&self) -> ::std::option::Option<&str> {
1325                            self.region.as_deref()
1326                        }
1327    /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
1328    pub fn use_dual_stack(&self) -> ::std::option::Option<bool> {
1329                            Some(self.use_dual_stack)
1330                        }
1331    /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
1332    pub fn use_fips(&self) -> ::std::option::Option<bool> {
1333                            Some(self.use_fips)
1334                        }
1335    /// Override the endpoint used to send this request
1336    pub fn endpoint(&self) -> ::std::option::Option<&str> {
1337                            self.endpoint.as_deref()
1338                        }
1339    /// Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.
1340    pub fn use_global_endpoint(&self) -> ::std::option::Option<bool> {
1341                            Some(self.use_global_endpoint)
1342                        }
1343}
1344
1345/// Builder for [`Params`]
1346#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
1347pub struct ParamsBuilder {
1348    region: ::std::option::Option<::std::string::String>,
1349    use_dual_stack: ::std::option::Option<bool>,
1350    use_fips: ::std::option::Option<bool>,
1351    endpoint: ::std::option::Option<::std::string::String>,
1352    use_global_endpoint: ::std::option::Option<bool>,
1353}
1354impl ParamsBuilder {
1355    /// Consume this builder, creating [`Params`].
1356    pub fn build(self) -> ::std::result::Result<crate::config::endpoint::Params, crate::config::endpoint::InvalidParams> {
1357        Ok(#[allow(clippy::unnecessary_lazy_evaluations)]
1358        crate::config::endpoint::Params {
1359            region: self.region
1360            ,
1361            use_dual_stack: self.use_dual_stack
1362            .or_else(||Some(false))
1363            .ok_or_else(||crate::config::endpoint::InvalidParams::missing("use_dual_stack"))?
1364            ,
1365            use_fips: self.use_fips
1366            .or_else(||Some(false))
1367            .ok_or_else(||crate::config::endpoint::InvalidParams::missing("use_fips"))?
1368            ,
1369            endpoint: self.endpoint
1370            ,
1371            use_global_endpoint: self.use_global_endpoint
1372            .or_else(||Some(false))
1373            .ok_or_else(||crate::config::endpoint::InvalidParams::missing("use_global_endpoint"))?
1374            ,
1375        })
1376    }
1377    /// Sets the value for region 
1378    /// 
1379    /// The AWS region used to dispatch the request.
1380                        pub fn region(mut self, value: impl Into<::std::string::String>) -> Self {
1381                            self.region = Some(value.into());
1382                            self
1383                        }
1384    
1385                        /// Sets the value for region 
1386    /// 
1387    /// The AWS region used to dispatch the request.
1388                        pub fn set_region(mut self, param: Option<::std::string::String>) -> Self {
1389                            self.region = param;
1390                            self
1391                        }
1392    /// Sets the value for use_dual_stack 
1393    /// 
1394    /// When unset, this parameter has a default value of `false`.
1395    /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
1396                        pub fn use_dual_stack(mut self, value: impl Into<bool>) -> Self {
1397                            self.use_dual_stack = Some(value.into());
1398                            self
1399                        }
1400    
1401                        /// Sets the value for use_dual_stack 
1402    /// 
1403    /// When unset, this parameter has a default value of `false`.
1404    /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
1405                        pub fn set_use_dual_stack(mut self, param: Option<bool>) -> Self {
1406                            self.use_dual_stack = param;
1407                            self
1408                        }
1409    /// Sets the value for use_fips 
1410    /// 
1411    /// When unset, this parameter has a default value of `false`.
1412    /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
1413                        pub fn use_fips(mut self, value: impl Into<bool>) -> Self {
1414                            self.use_fips = Some(value.into());
1415                            self
1416                        }
1417    
1418                        /// Sets the value for use_fips 
1419    /// 
1420    /// When unset, this parameter has a default value of `false`.
1421    /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
1422                        pub fn set_use_fips(mut self, param: Option<bool>) -> Self {
1423                            self.use_fips = param;
1424                            self
1425                        }
1426    /// Sets the value for endpoint 
1427    /// 
1428    /// Override the endpoint used to send this request
1429                        pub fn endpoint(mut self, value: impl Into<::std::string::String>) -> Self {
1430                            self.endpoint = Some(value.into());
1431                            self
1432                        }
1433    
1434                        /// Sets the value for endpoint 
1435    /// 
1436    /// Override the endpoint used to send this request
1437                        pub fn set_endpoint(mut self, param: Option<::std::string::String>) -> Self {
1438                            self.endpoint = param;
1439                            self
1440                        }
1441    /// Sets the value for use_global_endpoint 
1442    /// 
1443    /// When unset, this parameter has a default value of `false`.
1444    /// Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.
1445                        pub fn use_global_endpoint(mut self, value: impl Into<bool>) -> Self {
1446                            self.use_global_endpoint = Some(value.into());
1447                            self
1448                        }
1449    
1450                        /// Sets the value for use_global_endpoint 
1451    /// 
1452    /// When unset, this parameter has a default value of `false`.
1453    /// Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.
1454                        pub fn set_use_global_endpoint(mut self, param: Option<bool>) -> Self {
1455                            self.use_global_endpoint = param;
1456                            self
1457                        }
1458}
1459
1460/// An error that occurred during endpoint resolution
1461                #[derive(Debug)]
1462                pub struct InvalidParams {
1463                    field: std::borrow::Cow<'static, str>
1464                }
1465
1466                impl InvalidParams {
1467                    #[allow(dead_code)]
1468                    fn missing(field: &'static str) -> Self {
1469                        Self { field: field.into() }
1470                    }
1471                }
1472
1473                impl std::fmt::Display for InvalidParams {
1474                    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1475                        write!(f, "a required field was missing: `{}`", self.field)
1476                    }
1477                }
1478
1479                impl std::error::Error for InvalidParams { }
1480
1481mod internals;
1482