1pub use ::aws_smithy_runtime_api::client::endpoint::EndpointFuture;
3pub use ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver;
4pub use ::aws_smithy_types::endpoint::Endpoint;
5
6#[cfg(test)]
7mod test {
8
9 #[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()
17 .expect("invalid params");
18 let resolver = crate::config::endpoint::DefaultResolver::new();
19 let endpoint = resolver.resolve_endpoint(¶ms);
20 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.af-south-1.amazonaws.com");
21 assert_eq!(
22 endpoint,
23 ::aws_smithy_types::endpoint::Endpoint::builder()
24 .url("https://sts.af-south-1.amazonaws.com")
25 .build()
26 );
27 }
28
29 #[test]
31 fn test_2() {
32 let params = crate::config::endpoint::Params::builder()
33 .region("ap-east-1".to_string())
34 .use_fips(false)
35 .use_dual_stack(false)
36 .build()
37 .expect("invalid params");
38 let resolver = crate::config::endpoint::DefaultResolver::new();
39 let endpoint = resolver.resolve_endpoint(¶ms);
40 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-east-1.amazonaws.com");
41 assert_eq!(
42 endpoint,
43 ::aws_smithy_types::endpoint::Endpoint::builder()
44 .url("https://sts.ap-east-1.amazonaws.com")
45 .build()
46 );
47 }
48
49 #[test]
51 fn test_3() {
52 let params = crate::config::endpoint::Params::builder()
53 .region("ap-northeast-1".to_string())
54 .use_fips(false)
55 .use_dual_stack(false)
56 .build()
57 .expect("invalid params");
58 let resolver = crate::config::endpoint::DefaultResolver::new();
59 let endpoint = resolver.resolve_endpoint(¶ms);
60 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-northeast-1.amazonaws.com");
61 assert_eq!(
62 endpoint,
63 ::aws_smithy_types::endpoint::Endpoint::builder()
64 .url("https://sts.ap-northeast-1.amazonaws.com")
65 .build()
66 );
67 }
68
69 #[test]
71 fn test_4() {
72 let params = crate::config::endpoint::Params::builder()
73 .region("ap-northeast-2".to_string())
74 .use_fips(false)
75 .use_dual_stack(false)
76 .build()
77 .expect("invalid params");
78 let resolver = crate::config::endpoint::DefaultResolver::new();
79 let endpoint = resolver.resolve_endpoint(¶ms);
80 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-northeast-2.amazonaws.com");
81 assert_eq!(
82 endpoint,
83 ::aws_smithy_types::endpoint::Endpoint::builder()
84 .url("https://sts.ap-northeast-2.amazonaws.com")
85 .build()
86 );
87 }
88
89 #[test]
91 fn test_5() {
92 let params = crate::config::endpoint::Params::builder()
93 .region("ap-northeast-3".to_string())
94 .use_fips(false)
95 .use_dual_stack(false)
96 .build()
97 .expect("invalid params");
98 let resolver = crate::config::endpoint::DefaultResolver::new();
99 let endpoint = resolver.resolve_endpoint(¶ms);
100 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-northeast-3.amazonaws.com");
101 assert_eq!(
102 endpoint,
103 ::aws_smithy_types::endpoint::Endpoint::builder()
104 .url("https://sts.ap-northeast-3.amazonaws.com")
105 .build()
106 );
107 }
108
109 #[test]
111 fn test_6() {
112 let params = crate::config::endpoint::Params::builder()
113 .region("ap-south-1".to_string())
114 .use_fips(false)
115 .use_dual_stack(false)
116 .build()
117 .expect("invalid params");
118 let resolver = crate::config::endpoint::DefaultResolver::new();
119 let endpoint = resolver.resolve_endpoint(¶ms);
120 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-south-1.amazonaws.com");
121 assert_eq!(
122 endpoint,
123 ::aws_smithy_types::endpoint::Endpoint::builder()
124 .url("https://sts.ap-south-1.amazonaws.com")
125 .build()
126 );
127 }
128
129 #[test]
131 fn test_7() {
132 let params = crate::config::endpoint::Params::builder()
133 .region("ap-southeast-1".to_string())
134 .use_fips(false)
135 .use_dual_stack(false)
136 .build()
137 .expect("invalid params");
138 let resolver = crate::config::endpoint::DefaultResolver::new();
139 let endpoint = resolver.resolve_endpoint(¶ms);
140 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-southeast-1.amazonaws.com");
141 assert_eq!(
142 endpoint,
143 ::aws_smithy_types::endpoint::Endpoint::builder()
144 .url("https://sts.ap-southeast-1.amazonaws.com")
145 .build()
146 );
147 }
148
149 #[test]
151 fn test_8() {
152 let params = crate::config::endpoint::Params::builder()
153 .region("ap-southeast-2".to_string())
154 .use_fips(false)
155 .use_dual_stack(false)
156 .build()
157 .expect("invalid params");
158 let resolver = crate::config::endpoint::DefaultResolver::new();
159 let endpoint = resolver.resolve_endpoint(¶ms);
160 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-southeast-2.amazonaws.com");
161 assert_eq!(
162 endpoint,
163 ::aws_smithy_types::endpoint::Endpoint::builder()
164 .url("https://sts.ap-southeast-2.amazonaws.com")
165 .build()
166 );
167 }
168
169 #[test]
171 fn test_9() {
172 let params = crate::config::endpoint::Params::builder()
173 .region("ap-southeast-3".to_string())
174 .use_fips(false)
175 .use_dual_stack(false)
176 .build()
177 .expect("invalid params");
178 let resolver = crate::config::endpoint::DefaultResolver::new();
179 let endpoint = resolver.resolve_endpoint(¶ms);
180 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ap-southeast-3.amazonaws.com");
181 assert_eq!(
182 endpoint,
183 ::aws_smithy_types::endpoint::Endpoint::builder()
184 .url("https://sts.ap-southeast-3.amazonaws.com")
185 .build()
186 );
187 }
188
189 #[test]
191 fn test_10() {
192 let params = crate::config::endpoint::Params::builder()
193 .region("aws-global".to_string())
194 .use_fips(false)
195 .use_dual_stack(false)
196 .build()
197 .expect("invalid params");
198 let resolver = crate::config::endpoint::DefaultResolver::new();
199 let endpoint = resolver.resolve_endpoint(¶ms);
200 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
201 assert_eq!(
202 endpoint,
203 ::aws_smithy_types::endpoint::Endpoint::builder()
204 .url("https://sts.amazonaws.com")
205 .property(
206 "authSchemes",
207 vec![::aws_smithy_types::Document::from({
208 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
209 out.insert("name".to_string(), "sigv4".to_string().into());
210 out.insert("signingName".to_string(), "sts".to_string().into());
211 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
212 out
213 })]
214 )
215 .build()
216 );
217 }
218
219 #[test]
221 fn test_11() {
222 let params = crate::config::endpoint::Params::builder()
223 .region("ca-central-1".to_string())
224 .use_fips(false)
225 .use_dual_stack(false)
226 .build()
227 .expect("invalid params");
228 let resolver = crate::config::endpoint::DefaultResolver::new();
229 let endpoint = resolver.resolve_endpoint(¶ms);
230 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ca-central-1.amazonaws.com");
231 assert_eq!(
232 endpoint,
233 ::aws_smithy_types::endpoint::Endpoint::builder()
234 .url("https://sts.ca-central-1.amazonaws.com")
235 .build()
236 );
237 }
238
239 #[test]
241 fn test_12() {
242 let params = crate::config::endpoint::Params::builder()
243 .region("eu-central-1".to_string())
244 .use_fips(false)
245 .use_dual_stack(false)
246 .build()
247 .expect("invalid params");
248 let resolver = crate::config::endpoint::DefaultResolver::new();
249 let endpoint = resolver.resolve_endpoint(¶ms);
250 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-central-1.amazonaws.com");
251 assert_eq!(
252 endpoint,
253 ::aws_smithy_types::endpoint::Endpoint::builder()
254 .url("https://sts.eu-central-1.amazonaws.com")
255 .build()
256 );
257 }
258
259 #[test]
261 fn test_13() {
262 let params = crate::config::endpoint::Params::builder()
263 .region("eu-north-1".to_string())
264 .use_fips(false)
265 .use_dual_stack(false)
266 .build()
267 .expect("invalid params");
268 let resolver = crate::config::endpoint::DefaultResolver::new();
269 let endpoint = resolver.resolve_endpoint(¶ms);
270 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-north-1.amazonaws.com");
271 assert_eq!(
272 endpoint,
273 ::aws_smithy_types::endpoint::Endpoint::builder()
274 .url("https://sts.eu-north-1.amazonaws.com")
275 .build()
276 );
277 }
278
279 #[test]
281 fn test_14() {
282 let params = crate::config::endpoint::Params::builder()
283 .region("eu-south-1".to_string())
284 .use_fips(false)
285 .use_dual_stack(false)
286 .build()
287 .expect("invalid params");
288 let resolver = crate::config::endpoint::DefaultResolver::new();
289 let endpoint = resolver.resolve_endpoint(¶ms);
290 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-south-1.amazonaws.com");
291 assert_eq!(
292 endpoint,
293 ::aws_smithy_types::endpoint::Endpoint::builder()
294 .url("https://sts.eu-south-1.amazonaws.com")
295 .build()
296 );
297 }
298
299 #[test]
301 fn test_15() {
302 let params = crate::config::endpoint::Params::builder()
303 .region("eu-west-1".to_string())
304 .use_fips(false)
305 .use_dual_stack(false)
306 .build()
307 .expect("invalid params");
308 let resolver = crate::config::endpoint::DefaultResolver::new();
309 let endpoint = resolver.resolve_endpoint(¶ms);
310 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-1.amazonaws.com");
311 assert_eq!(
312 endpoint,
313 ::aws_smithy_types::endpoint::Endpoint::builder()
314 .url("https://sts.eu-west-1.amazonaws.com")
315 .build()
316 );
317 }
318
319 #[test]
321 fn test_16() {
322 let params = crate::config::endpoint::Params::builder()
323 .region("eu-west-2".to_string())
324 .use_fips(false)
325 .use_dual_stack(false)
326 .build()
327 .expect("invalid params");
328 let resolver = crate::config::endpoint::DefaultResolver::new();
329 let endpoint = resolver.resolve_endpoint(¶ms);
330 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-2.amazonaws.com");
331 assert_eq!(
332 endpoint,
333 ::aws_smithy_types::endpoint::Endpoint::builder()
334 .url("https://sts.eu-west-2.amazonaws.com")
335 .build()
336 );
337 }
338
339 #[test]
341 fn test_17() {
342 let params = crate::config::endpoint::Params::builder()
343 .region("eu-west-3".to_string())
344 .use_fips(false)
345 .use_dual_stack(false)
346 .build()
347 .expect("invalid params");
348 let resolver = crate::config::endpoint::DefaultResolver::new();
349 let endpoint = resolver.resolve_endpoint(¶ms);
350 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-3.amazonaws.com");
351 assert_eq!(
352 endpoint,
353 ::aws_smithy_types::endpoint::Endpoint::builder()
354 .url("https://sts.eu-west-3.amazonaws.com")
355 .build()
356 );
357 }
358
359 #[test]
361 fn test_18() {
362 let params = crate::config::endpoint::Params::builder()
363 .region("me-south-1".to_string())
364 .use_fips(false)
365 .use_dual_stack(false)
366 .build()
367 .expect("invalid params");
368 let resolver = crate::config::endpoint::DefaultResolver::new();
369 let endpoint = resolver.resolve_endpoint(¶ms);
370 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.me-south-1.amazonaws.com");
371 assert_eq!(
372 endpoint,
373 ::aws_smithy_types::endpoint::Endpoint::builder()
374 .url("https://sts.me-south-1.amazonaws.com")
375 .build()
376 );
377 }
378
379 #[test]
381 fn test_19() {
382 let params = crate::config::endpoint::Params::builder()
383 .region("sa-east-1".to_string())
384 .use_fips(false)
385 .use_dual_stack(false)
386 .build()
387 .expect("invalid params");
388 let resolver = crate::config::endpoint::DefaultResolver::new();
389 let endpoint = resolver.resolve_endpoint(¶ms);
390 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.sa-east-1.amazonaws.com");
391 assert_eq!(
392 endpoint,
393 ::aws_smithy_types::endpoint::Endpoint::builder()
394 .url("https://sts.sa-east-1.amazonaws.com")
395 .build()
396 );
397 }
398
399 #[test]
401 fn test_20() {
402 let params = crate::config::endpoint::Params::builder()
403 .region("us-east-1".to_string())
404 .use_fips(false)
405 .use_dual_stack(false)
406 .build()
407 .expect("invalid params");
408 let resolver = crate::config::endpoint::DefaultResolver::new();
409 let endpoint = resolver.resolve_endpoint(¶ms);
410 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-1.amazonaws.com");
411 assert_eq!(
412 endpoint,
413 ::aws_smithy_types::endpoint::Endpoint::builder()
414 .url("https://sts.us-east-1.amazonaws.com")
415 .build()
416 );
417 }
418
419 #[test]
421 fn test_21() {
422 let params = crate::config::endpoint::Params::builder()
423 .region("us-east-1".to_string())
424 .use_fips(true)
425 .use_dual_stack(false)
426 .build()
427 .expect("invalid params");
428 let resolver = crate::config::endpoint::DefaultResolver::new();
429 let endpoint = resolver.resolve_endpoint(¶ms);
430 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-1.amazonaws.com");
431 assert_eq!(
432 endpoint,
433 ::aws_smithy_types::endpoint::Endpoint::builder()
434 .url("https://sts-fips.us-east-1.amazonaws.com")
435 .build()
436 );
437 }
438
439 #[test]
441 fn test_22() {
442 let params = crate::config::endpoint::Params::builder()
443 .region("us-east-2".to_string())
444 .use_fips(false)
445 .use_dual_stack(false)
446 .build()
447 .expect("invalid params");
448 let resolver = crate::config::endpoint::DefaultResolver::new();
449 let endpoint = resolver.resolve_endpoint(¶ms);
450 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-2.amazonaws.com");
451 assert_eq!(
452 endpoint,
453 ::aws_smithy_types::endpoint::Endpoint::builder()
454 .url("https://sts.us-east-2.amazonaws.com")
455 .build()
456 );
457 }
458
459 #[test]
461 fn test_23() {
462 let params = crate::config::endpoint::Params::builder()
463 .region("us-east-2".to_string())
464 .use_fips(true)
465 .use_dual_stack(false)
466 .build()
467 .expect("invalid params");
468 let resolver = crate::config::endpoint::DefaultResolver::new();
469 let endpoint = resolver.resolve_endpoint(¶ms);
470 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-2.amazonaws.com");
471 assert_eq!(
472 endpoint,
473 ::aws_smithy_types::endpoint::Endpoint::builder()
474 .url("https://sts-fips.us-east-2.amazonaws.com")
475 .build()
476 );
477 }
478
479 #[test]
481 fn test_24() {
482 let params = crate::config::endpoint::Params::builder()
483 .region("us-west-1".to_string())
484 .use_fips(false)
485 .use_dual_stack(false)
486 .build()
487 .expect("invalid params");
488 let resolver = crate::config::endpoint::DefaultResolver::new();
489 let endpoint = resolver.resolve_endpoint(¶ms);
490 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-west-1.amazonaws.com");
491 assert_eq!(
492 endpoint,
493 ::aws_smithy_types::endpoint::Endpoint::builder()
494 .url("https://sts.us-west-1.amazonaws.com")
495 .build()
496 );
497 }
498
499 #[test]
501 fn test_25() {
502 let params = crate::config::endpoint::Params::builder()
503 .region("us-west-1".to_string())
504 .use_fips(true)
505 .use_dual_stack(false)
506 .build()
507 .expect("invalid params");
508 let resolver = crate::config::endpoint::DefaultResolver::new();
509 let endpoint = resolver.resolve_endpoint(¶ms);
510 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-west-1.amazonaws.com");
511 assert_eq!(
512 endpoint,
513 ::aws_smithy_types::endpoint::Endpoint::builder()
514 .url("https://sts-fips.us-west-1.amazonaws.com")
515 .build()
516 );
517 }
518
519 #[test]
521 fn test_26() {
522 let params = crate::config::endpoint::Params::builder()
523 .region("us-west-2".to_string())
524 .use_fips(false)
525 .use_dual_stack(false)
526 .build()
527 .expect("invalid params");
528 let resolver = crate::config::endpoint::DefaultResolver::new();
529 let endpoint = resolver.resolve_endpoint(¶ms);
530 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-west-2.amazonaws.com");
531 assert_eq!(
532 endpoint,
533 ::aws_smithy_types::endpoint::Endpoint::builder()
534 .url("https://sts.us-west-2.amazonaws.com")
535 .build()
536 );
537 }
538
539 #[test]
541 fn test_27() {
542 let params = crate::config::endpoint::Params::builder()
543 .region("us-west-2".to_string())
544 .use_fips(true)
545 .use_dual_stack(false)
546 .build()
547 .expect("invalid params");
548 let resolver = crate::config::endpoint::DefaultResolver::new();
549 let endpoint = resolver.resolve_endpoint(¶ms);
550 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-west-2.amazonaws.com");
551 assert_eq!(
552 endpoint,
553 ::aws_smithy_types::endpoint::Endpoint::builder()
554 .url("https://sts-fips.us-west-2.amazonaws.com")
555 .build()
556 );
557 }
558
559 #[test]
561 fn test_28() {
562 let params = crate::config::endpoint::Params::builder()
563 .region("us-east-1".to_string())
564 .use_fips(true)
565 .use_dual_stack(true)
566 .build()
567 .expect("invalid params");
568 let resolver = crate::config::endpoint::DefaultResolver::new();
569 let endpoint = resolver.resolve_endpoint(¶ms);
570 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-1.api.aws");
571 assert_eq!(
572 endpoint,
573 ::aws_smithy_types::endpoint::Endpoint::builder()
574 .url("https://sts-fips.us-east-1.api.aws")
575 .build()
576 );
577 }
578
579 #[test]
581 fn test_29() {
582 let params = crate::config::endpoint::Params::builder()
583 .region("us-east-1".to_string())
584 .use_fips(false)
585 .use_dual_stack(true)
586 .build()
587 .expect("invalid params");
588 let resolver = crate::config::endpoint::DefaultResolver::new();
589 let endpoint = resolver.resolve_endpoint(¶ms);
590 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-1.api.aws");
591 assert_eq!(
592 endpoint,
593 ::aws_smithy_types::endpoint::Endpoint::builder()
594 .url("https://sts.us-east-1.api.aws")
595 .build()
596 );
597 }
598
599 #[test]
601 fn test_30() {
602 let params = crate::config::endpoint::Params::builder()
603 .region("cn-north-1".to_string())
604 .use_fips(false)
605 .use_dual_stack(false)
606 .build()
607 .expect("invalid params");
608 let resolver = crate::config::endpoint::DefaultResolver::new();
609 let endpoint = resolver.resolve_endpoint(¶ms);
610 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-north-1.amazonaws.com.cn");
611 assert_eq!(
612 endpoint,
613 ::aws_smithy_types::endpoint::Endpoint::builder()
614 .url("https://sts.cn-north-1.amazonaws.com.cn")
615 .build()
616 );
617 }
618
619 #[test]
621 fn test_31() {
622 let params = crate::config::endpoint::Params::builder()
623 .region("cn-northwest-1".to_string())
624 .use_fips(false)
625 .use_dual_stack(false)
626 .build()
627 .expect("invalid params");
628 let resolver = crate::config::endpoint::DefaultResolver::new();
629 let endpoint = resolver.resolve_endpoint(¶ms);
630 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-northwest-1.amazonaws.com.cn");
631 assert_eq!(
632 endpoint,
633 ::aws_smithy_types::endpoint::Endpoint::builder()
634 .url("https://sts.cn-northwest-1.amazonaws.com.cn")
635 .build()
636 );
637 }
638
639 #[test]
641 fn test_32() {
642 let params = crate::config::endpoint::Params::builder()
643 .region("cn-north-1".to_string())
644 .use_fips(true)
645 .use_dual_stack(true)
646 .build()
647 .expect("invalid params");
648 let resolver = crate::config::endpoint::DefaultResolver::new();
649 let endpoint = resolver.resolve_endpoint(¶ms);
650 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.cn-north-1.api.amazonwebservices.com.cn");
651 assert_eq!(
652 endpoint,
653 ::aws_smithy_types::endpoint::Endpoint::builder()
654 .url("https://sts-fips.cn-north-1.api.amazonwebservices.com.cn")
655 .build()
656 );
657 }
658
659 #[test]
661 fn test_33() {
662 let params = crate::config::endpoint::Params::builder()
663 .region("cn-north-1".to_string())
664 .use_fips(true)
665 .use_dual_stack(false)
666 .build()
667 .expect("invalid params");
668 let resolver = crate::config::endpoint::DefaultResolver::new();
669 let endpoint = resolver.resolve_endpoint(¶ms);
670 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.cn-north-1.amazonaws.com.cn");
671 assert_eq!(
672 endpoint,
673 ::aws_smithy_types::endpoint::Endpoint::builder()
674 .url("https://sts-fips.cn-north-1.amazonaws.com.cn")
675 .build()
676 );
677 }
678
679 #[test]
681 fn test_34() {
682 let params = crate::config::endpoint::Params::builder()
683 .region("cn-north-1".to_string())
684 .use_fips(false)
685 .use_dual_stack(true)
686 .build()
687 .expect("invalid params");
688 let resolver = crate::config::endpoint::DefaultResolver::new();
689 let endpoint = resolver.resolve_endpoint(¶ms);
690 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-north-1.api.amazonwebservices.com.cn");
691 assert_eq!(
692 endpoint,
693 ::aws_smithy_types::endpoint::Endpoint::builder()
694 .url("https://sts.cn-north-1.api.amazonwebservices.com.cn")
695 .build()
696 );
697 }
698
699 #[test]
701 fn test_35() {
702 let params = crate::config::endpoint::Params::builder()
703 .region("us-gov-east-1".to_string())
704 .use_fips(false)
705 .use_dual_stack(false)
706 .build()
707 .expect("invalid params");
708 let resolver = crate::config::endpoint::DefaultResolver::new();
709 let endpoint = resolver.resolve_endpoint(¶ms);
710 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.amazonaws.com");
711 assert_eq!(
712 endpoint,
713 ::aws_smithy_types::endpoint::Endpoint::builder()
714 .url("https://sts.us-gov-east-1.amazonaws.com")
715 .build()
716 );
717 }
718
719 #[test]
721 fn test_36() {
722 let params = crate::config::endpoint::Params::builder()
723 .region("us-gov-east-1".to_string())
724 .use_fips(true)
725 .use_dual_stack(false)
726 .build()
727 .expect("invalid params");
728 let resolver = crate::config::endpoint::DefaultResolver::new();
729 let endpoint = resolver.resolve_endpoint(¶ms);
730 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.amazonaws.com");
731 assert_eq!(
732 endpoint,
733 ::aws_smithy_types::endpoint::Endpoint::builder()
734 .url("https://sts.us-gov-east-1.amazonaws.com")
735 .build()
736 );
737 }
738
739 #[test]
741 fn test_37() {
742 let params = crate::config::endpoint::Params::builder()
743 .region("us-gov-west-1".to_string())
744 .use_fips(false)
745 .use_dual_stack(false)
746 .build()
747 .expect("invalid params");
748 let resolver = crate::config::endpoint::DefaultResolver::new();
749 let endpoint = resolver.resolve_endpoint(¶ms);
750 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-west-1.amazonaws.com");
751 assert_eq!(
752 endpoint,
753 ::aws_smithy_types::endpoint::Endpoint::builder()
754 .url("https://sts.us-gov-west-1.amazonaws.com")
755 .build()
756 );
757 }
758
759 #[test]
761 fn test_38() {
762 let params = crate::config::endpoint::Params::builder()
763 .region("us-gov-west-1".to_string())
764 .use_fips(true)
765 .use_dual_stack(false)
766 .build()
767 .expect("invalid params");
768 let resolver = crate::config::endpoint::DefaultResolver::new();
769 let endpoint = resolver.resolve_endpoint(¶ms);
770 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-west-1.amazonaws.com");
771 assert_eq!(
772 endpoint,
773 ::aws_smithy_types::endpoint::Endpoint::builder()
774 .url("https://sts.us-gov-west-1.amazonaws.com")
775 .build()
776 );
777 }
778
779 #[test]
781 fn test_39() {
782 let params = crate::config::endpoint::Params::builder()
783 .region("us-gov-east-1".to_string())
784 .use_fips(true)
785 .use_dual_stack(true)
786 .build()
787 .expect("invalid params");
788 let resolver = crate::config::endpoint::DefaultResolver::new();
789 let endpoint = resolver.resolve_endpoint(¶ms);
790 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-gov-east-1.api.aws");
791 assert_eq!(
792 endpoint,
793 ::aws_smithy_types::endpoint::Endpoint::builder()
794 .url("https://sts-fips.us-gov-east-1.api.aws")
795 .build()
796 );
797 }
798
799 #[test]
801 fn test_40() {
802 let params = crate::config::endpoint::Params::builder()
803 .region("us-gov-east-1".to_string())
804 .use_fips(false)
805 .use_dual_stack(true)
806 .build()
807 .expect("invalid params");
808 let resolver = crate::config::endpoint::DefaultResolver::new();
809 let endpoint = resolver.resolve_endpoint(¶ms);
810 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.api.aws");
811 assert_eq!(
812 endpoint,
813 ::aws_smithy_types::endpoint::Endpoint::builder()
814 .url("https://sts.us-gov-east-1.api.aws")
815 .build()
816 );
817 }
818
819 #[test]
821 fn test_41() {
822 let params = crate::config::endpoint::Params::builder()
823 .region("us-iso-east-1".to_string())
824 .use_fips(false)
825 .use_dual_stack(false)
826 .build()
827 .expect("invalid params");
828 let resolver = crate::config::endpoint::DefaultResolver::new();
829 let endpoint = resolver.resolve_endpoint(¶ms);
830 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-iso-east-1.c2s.ic.gov");
831 assert_eq!(
832 endpoint,
833 ::aws_smithy_types::endpoint::Endpoint::builder()
834 .url("https://sts.us-iso-east-1.c2s.ic.gov")
835 .build()
836 );
837 }
838
839 #[test]
841 fn test_42() {
842 let params = crate::config::endpoint::Params::builder()
843 .region("us-iso-west-1".to_string())
844 .use_fips(false)
845 .use_dual_stack(false)
846 .build()
847 .expect("invalid params");
848 let resolver = crate::config::endpoint::DefaultResolver::new();
849 let endpoint = resolver.resolve_endpoint(¶ms);
850 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-iso-west-1.c2s.ic.gov");
851 assert_eq!(
852 endpoint,
853 ::aws_smithy_types::endpoint::Endpoint::builder()
854 .url("https://sts.us-iso-west-1.c2s.ic.gov")
855 .build()
856 );
857 }
858
859 #[test]
861 fn test_43() {
862 let params = crate::config::endpoint::Params::builder()
863 .region("us-iso-east-1".to_string())
864 .use_fips(true)
865 .use_dual_stack(true)
866 .build()
867 .expect("invalid params");
868 let resolver = crate::config::endpoint::DefaultResolver::new();
869 let endpoint = resolver.resolve_endpoint(¶ms);
870 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]");
871 assert_eq!(
872 format!("{}", error),
873 "FIPS and DualStack are enabled, but this partition does not support one or both"
874 )
875 }
876
877 #[test]
879 fn test_44() {
880 let params = crate::config::endpoint::Params::builder()
881 .region("us-iso-east-1".to_string())
882 .use_fips(true)
883 .use_dual_stack(false)
884 .build()
885 .expect("invalid params");
886 let resolver = crate::config::endpoint::DefaultResolver::new();
887 let endpoint = resolver.resolve_endpoint(¶ms);
888 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-iso-east-1.c2s.ic.gov");
889 assert_eq!(
890 endpoint,
891 ::aws_smithy_types::endpoint::Endpoint::builder()
892 .url("https://sts-fips.us-iso-east-1.c2s.ic.gov")
893 .build()
894 );
895 }
896
897 #[test]
899 fn test_45() {
900 let params = crate::config::endpoint::Params::builder()
901 .region("us-iso-east-1".to_string())
902 .use_fips(false)
903 .use_dual_stack(true)
904 .build()
905 .expect("invalid params");
906 let resolver = crate::config::endpoint::DefaultResolver::new();
907 let endpoint = resolver.resolve_endpoint(¶ms);
908 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]");
909 assert_eq!(format!("{}", error), "DualStack is enabled but this partition does not support DualStack")
910 }
911
912 #[test]
914 fn test_46() {
915 let params = crate::config::endpoint::Params::builder()
916 .region("us-isob-east-1".to_string())
917 .use_fips(false)
918 .use_dual_stack(false)
919 .build()
920 .expect("invalid params");
921 let resolver = crate::config::endpoint::DefaultResolver::new();
922 let endpoint = resolver.resolve_endpoint(¶ms);
923 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-isob-east-1.sc2s.sgov.gov");
924 assert_eq!(
925 endpoint,
926 ::aws_smithy_types::endpoint::Endpoint::builder()
927 .url("https://sts.us-isob-east-1.sc2s.sgov.gov")
928 .build()
929 );
930 }
931
932 #[test]
934 fn test_47() {
935 let params = crate::config::endpoint::Params::builder()
936 .region("us-isob-east-1".to_string())
937 .use_fips(true)
938 .use_dual_stack(true)
939 .build()
940 .expect("invalid params");
941 let resolver = crate::config::endpoint::DefaultResolver::new();
942 let endpoint = resolver.resolve_endpoint(¶ms);
943 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]");
944 assert_eq!(
945 format!("{}", error),
946 "FIPS and DualStack are enabled, but this partition does not support one or both"
947 )
948 }
949
950 #[test]
952 fn test_48() {
953 let params = crate::config::endpoint::Params::builder()
954 .region("us-isob-east-1".to_string())
955 .use_fips(true)
956 .use_dual_stack(false)
957 .build()
958 .expect("invalid params");
959 let resolver = crate::config::endpoint::DefaultResolver::new();
960 let endpoint = resolver.resolve_endpoint(¶ms);
961 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-isob-east-1.sc2s.sgov.gov");
962 assert_eq!(
963 endpoint,
964 ::aws_smithy_types::endpoint::Endpoint::builder()
965 .url("https://sts-fips.us-isob-east-1.sc2s.sgov.gov")
966 .build()
967 );
968 }
969
970 #[test]
972 fn test_49() {
973 let params = crate::config::endpoint::Params::builder()
974 .region("us-isob-east-1".to_string())
975 .use_fips(false)
976 .use_dual_stack(true)
977 .build()
978 .expect("invalid params");
979 let resolver = crate::config::endpoint::DefaultResolver::new();
980 let endpoint = resolver.resolve_endpoint(¶ms);
981 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]");
982 assert_eq!(format!("{}", error), "DualStack is enabled but this partition does not support DualStack")
983 }
984
985 #[test]
987 fn test_50() {
988 let params = crate::config::endpoint::Params::builder()
989 .region("us-east-1".to_string())
990 .use_fips(false)
991 .use_dual_stack(false)
992 .endpoint("https://example.com".to_string())
993 .build()
994 .expect("invalid params");
995 let resolver = crate::config::endpoint::DefaultResolver::new();
996 let endpoint = resolver.resolve_endpoint(¶ms);
997 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
998 assert_eq!(
999 endpoint,
1000 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
1001 );
1002 }
1003
1004 #[test]
1006 fn test_51() {
1007 let params = crate::config::endpoint::Params::builder()
1008 .use_fips(false)
1009 .use_dual_stack(false)
1010 .endpoint("https://example.com".to_string())
1011 .build()
1012 .expect("invalid params");
1013 let resolver = crate::config::endpoint::DefaultResolver::new();
1014 let endpoint = resolver.resolve_endpoint(¶ms);
1015 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1016 assert_eq!(
1017 endpoint,
1018 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
1019 );
1020 }
1021
1022 #[test]
1024 fn test_52() {
1025 let params = crate::config::endpoint::Params::builder()
1026 .region("us-east-1".to_string())
1027 .use_fips(true)
1028 .use_dual_stack(false)
1029 .endpoint("https://example.com".to_string())
1030 .build()
1031 .expect("invalid params");
1032 let resolver = crate::config::endpoint::DefaultResolver::new();
1033 let endpoint = resolver.resolve_endpoint(¶ms);
1034 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]");
1035 assert_eq!(format!("{}", error), "Invalid Configuration: FIPS and custom endpoint are not supported")
1036 }
1037
1038 #[test]
1040 fn test_53() {
1041 let params = crate::config::endpoint::Params::builder()
1042 .region("us-east-1".to_string())
1043 .use_fips(false)
1044 .use_dual_stack(true)
1045 .endpoint("https://example.com".to_string())
1046 .build()
1047 .expect("invalid params");
1048 let resolver = crate::config::endpoint::DefaultResolver::new();
1049 let endpoint = resolver.resolve_endpoint(¶ms);
1050 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]");
1051 assert_eq!(
1052 format!("{}", error),
1053 "Invalid Configuration: Dualstack and custom endpoint are not supported"
1054 )
1055 }
1056
1057 #[test]
1059 fn test_54() {
1060 let params = crate::config::endpoint::Params::builder().build().expect("invalid params");
1061 let resolver = crate::config::endpoint::DefaultResolver::new();
1062 let endpoint = resolver.resolve_endpoint(¶ms);
1063 let error = endpoint.expect_err("expected error: Invalid Configuration: Missing Region [Missing region]");
1064 assert_eq!(format!("{}", error), "Invalid Configuration: Missing Region")
1065 }
1066
1067 #[test]
1069 fn test_55() {
1070 let params = crate::config::endpoint::Params::builder()
1071 .region("ap-northeast-1".to_string())
1072 .use_fips(false)
1073 .use_dual_stack(false)
1074 .use_global_endpoint(true)
1075 .build()
1076 .expect("invalid params");
1077 let resolver = crate::config::endpoint::DefaultResolver::new();
1078 let endpoint = resolver.resolve_endpoint(¶ms);
1079 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1080 assert_eq!(
1081 endpoint,
1082 ::aws_smithy_types::endpoint::Endpoint::builder()
1083 .url("https://sts.amazonaws.com")
1084 .property(
1085 "authSchemes",
1086 vec![::aws_smithy_types::Document::from({
1087 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1088 out.insert("name".to_string(), "sigv4".to_string().into());
1089 out.insert("signingName".to_string(), "sts".to_string().into());
1090 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1091 out
1092 })]
1093 )
1094 .build()
1095 );
1096 }
1097
1098 #[test]
1100 fn test_56() {
1101 let params = crate::config::endpoint::Params::builder()
1102 .region("ap-south-1".to_string())
1103 .use_fips(false)
1104 .use_dual_stack(false)
1105 .use_global_endpoint(true)
1106 .build()
1107 .expect("invalid params");
1108 let resolver = crate::config::endpoint::DefaultResolver::new();
1109 let endpoint = resolver.resolve_endpoint(¶ms);
1110 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1111 assert_eq!(
1112 endpoint,
1113 ::aws_smithy_types::endpoint::Endpoint::builder()
1114 .url("https://sts.amazonaws.com")
1115 .property(
1116 "authSchemes",
1117 vec![::aws_smithy_types::Document::from({
1118 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1119 out.insert("name".to_string(), "sigv4".to_string().into());
1120 out.insert("signingName".to_string(), "sts".to_string().into());
1121 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1122 out
1123 })]
1124 )
1125 .build()
1126 );
1127 }
1128
1129 #[test]
1131 fn test_57() {
1132 let params = crate::config::endpoint::Params::builder()
1133 .region("ap-southeast-1".to_string())
1134 .use_fips(false)
1135 .use_dual_stack(false)
1136 .use_global_endpoint(true)
1137 .build()
1138 .expect("invalid params");
1139 let resolver = crate::config::endpoint::DefaultResolver::new();
1140 let endpoint = resolver.resolve_endpoint(¶ms);
1141 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1142 assert_eq!(
1143 endpoint,
1144 ::aws_smithy_types::endpoint::Endpoint::builder()
1145 .url("https://sts.amazonaws.com")
1146 .property(
1147 "authSchemes",
1148 vec![::aws_smithy_types::Document::from({
1149 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1150 out.insert("name".to_string(), "sigv4".to_string().into());
1151 out.insert("signingName".to_string(), "sts".to_string().into());
1152 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1153 out
1154 })]
1155 )
1156 .build()
1157 );
1158 }
1159
1160 #[test]
1162 fn test_58() {
1163 let params = crate::config::endpoint::Params::builder()
1164 .region("ap-southeast-2".to_string())
1165 .use_fips(false)
1166 .use_dual_stack(false)
1167 .use_global_endpoint(true)
1168 .build()
1169 .expect("invalid params");
1170 let resolver = crate::config::endpoint::DefaultResolver::new();
1171 let endpoint = resolver.resolve_endpoint(¶ms);
1172 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1173 assert_eq!(
1174 endpoint,
1175 ::aws_smithy_types::endpoint::Endpoint::builder()
1176 .url("https://sts.amazonaws.com")
1177 .property(
1178 "authSchemes",
1179 vec![::aws_smithy_types::Document::from({
1180 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1181 out.insert("name".to_string(), "sigv4".to_string().into());
1182 out.insert("signingName".to_string(), "sts".to_string().into());
1183 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1184 out
1185 })]
1186 )
1187 .build()
1188 );
1189 }
1190
1191 #[test]
1193 fn test_59() {
1194 let params = crate::config::endpoint::Params::builder()
1195 .region("aws-global".to_string())
1196 .use_fips(false)
1197 .use_dual_stack(false)
1198 .use_global_endpoint(true)
1199 .build()
1200 .expect("invalid params");
1201 let resolver = crate::config::endpoint::DefaultResolver::new();
1202 let endpoint = resolver.resolve_endpoint(¶ms);
1203 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1204 assert_eq!(
1205 endpoint,
1206 ::aws_smithy_types::endpoint::Endpoint::builder()
1207 .url("https://sts.amazonaws.com")
1208 .property(
1209 "authSchemes",
1210 vec![::aws_smithy_types::Document::from({
1211 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1212 out.insert("name".to_string(), "sigv4".to_string().into());
1213 out.insert("signingName".to_string(), "sts".to_string().into());
1214 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1215 out
1216 })]
1217 )
1218 .build()
1219 );
1220 }
1221
1222 #[test]
1224 fn test_60() {
1225 let params = crate::config::endpoint::Params::builder()
1226 .region("ca-central-1".to_string())
1227 .use_fips(false)
1228 .use_dual_stack(false)
1229 .use_global_endpoint(true)
1230 .build()
1231 .expect("invalid params");
1232 let resolver = crate::config::endpoint::DefaultResolver::new();
1233 let endpoint = resolver.resolve_endpoint(¶ms);
1234 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1235 assert_eq!(
1236 endpoint,
1237 ::aws_smithy_types::endpoint::Endpoint::builder()
1238 .url("https://sts.amazonaws.com")
1239 .property(
1240 "authSchemes",
1241 vec![::aws_smithy_types::Document::from({
1242 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1243 out.insert("name".to_string(), "sigv4".to_string().into());
1244 out.insert("signingName".to_string(), "sts".to_string().into());
1245 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1246 out
1247 })]
1248 )
1249 .build()
1250 );
1251 }
1252
1253 #[test]
1255 fn test_61() {
1256 let params = crate::config::endpoint::Params::builder()
1257 .region("eu-central-1".to_string())
1258 .use_fips(false)
1259 .use_dual_stack(false)
1260 .use_global_endpoint(true)
1261 .build()
1262 .expect("invalid params");
1263 let resolver = crate::config::endpoint::DefaultResolver::new();
1264 let endpoint = resolver.resolve_endpoint(¶ms);
1265 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1266 assert_eq!(
1267 endpoint,
1268 ::aws_smithy_types::endpoint::Endpoint::builder()
1269 .url("https://sts.amazonaws.com")
1270 .property(
1271 "authSchemes",
1272 vec![::aws_smithy_types::Document::from({
1273 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1274 out.insert("name".to_string(), "sigv4".to_string().into());
1275 out.insert("signingName".to_string(), "sts".to_string().into());
1276 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1277 out
1278 })]
1279 )
1280 .build()
1281 );
1282 }
1283
1284 #[test]
1286 fn test_62() {
1287 let params = crate::config::endpoint::Params::builder()
1288 .region("eu-north-1".to_string())
1289 .use_fips(false)
1290 .use_dual_stack(false)
1291 .use_global_endpoint(true)
1292 .build()
1293 .expect("invalid params");
1294 let resolver = crate::config::endpoint::DefaultResolver::new();
1295 let endpoint = resolver.resolve_endpoint(¶ms);
1296 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1297 assert_eq!(
1298 endpoint,
1299 ::aws_smithy_types::endpoint::Endpoint::builder()
1300 .url("https://sts.amazonaws.com")
1301 .property(
1302 "authSchemes",
1303 vec![::aws_smithy_types::Document::from({
1304 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1305 out.insert("name".to_string(), "sigv4".to_string().into());
1306 out.insert("signingName".to_string(), "sts".to_string().into());
1307 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1308 out
1309 })]
1310 )
1311 .build()
1312 );
1313 }
1314
1315 #[test]
1317 fn test_63() {
1318 let params = crate::config::endpoint::Params::builder()
1319 .region("eu-west-1".to_string())
1320 .use_fips(false)
1321 .use_dual_stack(false)
1322 .use_global_endpoint(true)
1323 .build()
1324 .expect("invalid params");
1325 let resolver = crate::config::endpoint::DefaultResolver::new();
1326 let endpoint = resolver.resolve_endpoint(¶ms);
1327 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1328 assert_eq!(
1329 endpoint,
1330 ::aws_smithy_types::endpoint::Endpoint::builder()
1331 .url("https://sts.amazonaws.com")
1332 .property(
1333 "authSchemes",
1334 vec![::aws_smithy_types::Document::from({
1335 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1336 out.insert("name".to_string(), "sigv4".to_string().into());
1337 out.insert("signingName".to_string(), "sts".to_string().into());
1338 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1339 out
1340 })]
1341 )
1342 .build()
1343 );
1344 }
1345
1346 #[test]
1348 fn test_64() {
1349 let params = crate::config::endpoint::Params::builder()
1350 .region("eu-west-2".to_string())
1351 .use_fips(false)
1352 .use_dual_stack(false)
1353 .use_global_endpoint(true)
1354 .build()
1355 .expect("invalid params");
1356 let resolver = crate::config::endpoint::DefaultResolver::new();
1357 let endpoint = resolver.resolve_endpoint(¶ms);
1358 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1359 assert_eq!(
1360 endpoint,
1361 ::aws_smithy_types::endpoint::Endpoint::builder()
1362 .url("https://sts.amazonaws.com")
1363 .property(
1364 "authSchemes",
1365 vec![::aws_smithy_types::Document::from({
1366 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1367 out.insert("name".to_string(), "sigv4".to_string().into());
1368 out.insert("signingName".to_string(), "sts".to_string().into());
1369 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1370 out
1371 })]
1372 )
1373 .build()
1374 );
1375 }
1376
1377 #[test]
1379 fn test_65() {
1380 let params = crate::config::endpoint::Params::builder()
1381 .region("eu-west-3".to_string())
1382 .use_fips(false)
1383 .use_dual_stack(false)
1384 .use_global_endpoint(true)
1385 .build()
1386 .expect("invalid params");
1387 let resolver = crate::config::endpoint::DefaultResolver::new();
1388 let endpoint = resolver.resolve_endpoint(¶ms);
1389 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1390 assert_eq!(
1391 endpoint,
1392 ::aws_smithy_types::endpoint::Endpoint::builder()
1393 .url("https://sts.amazonaws.com")
1394 .property(
1395 "authSchemes",
1396 vec![::aws_smithy_types::Document::from({
1397 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1398 out.insert("name".to_string(), "sigv4".to_string().into());
1399 out.insert("signingName".to_string(), "sts".to_string().into());
1400 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1401 out
1402 })]
1403 )
1404 .build()
1405 );
1406 }
1407
1408 #[test]
1410 fn test_66() {
1411 let params = crate::config::endpoint::Params::builder()
1412 .region("sa-east-1".to_string())
1413 .use_fips(false)
1414 .use_dual_stack(false)
1415 .use_global_endpoint(true)
1416 .build()
1417 .expect("invalid params");
1418 let resolver = crate::config::endpoint::DefaultResolver::new();
1419 let endpoint = resolver.resolve_endpoint(¶ms);
1420 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1421 assert_eq!(
1422 endpoint,
1423 ::aws_smithy_types::endpoint::Endpoint::builder()
1424 .url("https://sts.amazonaws.com")
1425 .property(
1426 "authSchemes",
1427 vec![::aws_smithy_types::Document::from({
1428 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1429 out.insert("name".to_string(), "sigv4".to_string().into());
1430 out.insert("signingName".to_string(), "sts".to_string().into());
1431 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1432 out
1433 })]
1434 )
1435 .build()
1436 );
1437 }
1438
1439 #[test]
1441 fn test_67() {
1442 let params = crate::config::endpoint::Params::builder()
1443 .region("us-east-1".to_string())
1444 .use_fips(false)
1445 .use_dual_stack(false)
1446 .use_global_endpoint(true)
1447 .build()
1448 .expect("invalid params");
1449 let resolver = crate::config::endpoint::DefaultResolver::new();
1450 let endpoint = resolver.resolve_endpoint(¶ms);
1451 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1452 assert_eq!(
1453 endpoint,
1454 ::aws_smithy_types::endpoint::Endpoint::builder()
1455 .url("https://sts.amazonaws.com")
1456 .property(
1457 "authSchemes",
1458 vec![::aws_smithy_types::Document::from({
1459 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1460 out.insert("name".to_string(), "sigv4".to_string().into());
1461 out.insert("signingName".to_string(), "sts".to_string().into());
1462 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1463 out
1464 })]
1465 )
1466 .build()
1467 );
1468 }
1469
1470 #[test]
1472 fn test_68() {
1473 let params = crate::config::endpoint::Params::builder()
1474 .region("us-east-2".to_string())
1475 .use_fips(false)
1476 .use_dual_stack(false)
1477 .use_global_endpoint(true)
1478 .build()
1479 .expect("invalid params");
1480 let resolver = crate::config::endpoint::DefaultResolver::new();
1481 let endpoint = resolver.resolve_endpoint(¶ms);
1482 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1483 assert_eq!(
1484 endpoint,
1485 ::aws_smithy_types::endpoint::Endpoint::builder()
1486 .url("https://sts.amazonaws.com")
1487 .property(
1488 "authSchemes",
1489 vec![::aws_smithy_types::Document::from({
1490 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1491 out.insert("name".to_string(), "sigv4".to_string().into());
1492 out.insert("signingName".to_string(), "sts".to_string().into());
1493 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1494 out
1495 })]
1496 )
1497 .build()
1498 );
1499 }
1500
1501 #[test]
1503 fn test_69() {
1504 let params = crate::config::endpoint::Params::builder()
1505 .region("us-west-1".to_string())
1506 .use_fips(false)
1507 .use_dual_stack(false)
1508 .use_global_endpoint(true)
1509 .build()
1510 .expect("invalid params");
1511 let resolver = crate::config::endpoint::DefaultResolver::new();
1512 let endpoint = resolver.resolve_endpoint(¶ms);
1513 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1514 assert_eq!(
1515 endpoint,
1516 ::aws_smithy_types::endpoint::Endpoint::builder()
1517 .url("https://sts.amazonaws.com")
1518 .property(
1519 "authSchemes",
1520 vec![::aws_smithy_types::Document::from({
1521 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1522 out.insert("name".to_string(), "sigv4".to_string().into());
1523 out.insert("signingName".to_string(), "sts".to_string().into());
1524 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1525 out
1526 })]
1527 )
1528 .build()
1529 );
1530 }
1531
1532 #[test]
1534 fn test_70() {
1535 let params = crate::config::endpoint::Params::builder()
1536 .region("us-west-2".to_string())
1537 .use_fips(false)
1538 .use_dual_stack(false)
1539 .use_global_endpoint(true)
1540 .build()
1541 .expect("invalid params");
1542 let resolver = crate::config::endpoint::DefaultResolver::new();
1543 let endpoint = resolver.resolve_endpoint(¶ms);
1544 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1545 assert_eq!(
1546 endpoint,
1547 ::aws_smithy_types::endpoint::Endpoint::builder()
1548 .url("https://sts.amazonaws.com")
1549 .property(
1550 "authSchemes",
1551 vec![::aws_smithy_types::Document::from({
1552 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1553 out.insert("name".to_string(), "sigv4".to_string().into());
1554 out.insert("signingName".to_string(), "sts".to_string().into());
1555 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1556 out
1557 })]
1558 )
1559 .build()
1560 );
1561 }
1562
1563 #[test]
1565 fn test_71() {
1566 let params = crate::config::endpoint::Params::builder()
1567 .region("us-east-3".to_string())
1568 .use_fips(false)
1569 .use_dual_stack(false)
1570 .use_global_endpoint(true)
1571 .build()
1572 .expect("invalid params");
1573 let resolver = crate::config::endpoint::DefaultResolver::new();
1574 let endpoint = resolver.resolve_endpoint(¶ms);
1575 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-3.amazonaws.com");
1576 assert_eq!(
1577 endpoint,
1578 ::aws_smithy_types::endpoint::Endpoint::builder()
1579 .url("https://sts.us-east-3.amazonaws.com")
1580 .property(
1581 "authSchemes",
1582 vec![::aws_smithy_types::Document::from({
1583 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1584 out.insert("name".to_string(), "sigv4".to_string().into());
1585 out.insert("signingName".to_string(), "sts".to_string().into());
1586 out.insert("signingRegion".to_string(), "us-east-3".to_string().into());
1587 out
1588 })]
1589 )
1590 .build()
1591 );
1592 }
1593
1594 #[test]
1596 fn test_72() {
1597 let params = crate::config::endpoint::Params::builder()
1598 .region("us-west-1".to_string())
1599 .use_fips(false)
1600 .use_dual_stack(false)
1601 .use_global_endpoint(true)
1602 .endpoint("https://example.com".to_string())
1603 .build()
1604 .expect("invalid params");
1605 let resolver = crate::config::endpoint::DefaultResolver::new();
1606 let endpoint = resolver.resolve_endpoint(¶ms);
1607 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1608 assert_eq!(
1609 endpoint,
1610 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
1611 );
1612 }
1613
1614 #[test]
1616 fn test_73() {
1617 let params = crate::config::endpoint::Params::builder()
1618 .use_fips(false)
1619 .use_dual_stack(false)
1620 .use_global_endpoint(false)
1621 .endpoint("https://example.com".to_string())
1622 .build()
1623 .expect("invalid params");
1624 let resolver = crate::config::endpoint::DefaultResolver::new();
1625 let endpoint = resolver.resolve_endpoint(¶ms);
1626 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1627 assert_eq!(
1628 endpoint,
1629 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
1630 );
1631 }
1632}
1633
1634pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
1636 fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
1638
1639 fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
1643 where
1644 Self: Sized + 'static,
1645 {
1646 ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
1647 }
1648}
1649
1650#[derive(Debug)]
1651struct DowncastParams<T>(T);
1652impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
1653where
1654 T: ResolveEndpoint,
1655{
1656 fn resolve_endpoint<'a>(
1657 &'a self,
1658 params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams,
1659 ) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
1660 let ep = match params.get::<crate::config::endpoint::Params>() {
1661 Some(params) => self.0.resolve_endpoint(params),
1662 None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
1663 };
1664 ep
1665 }
1666}
1667
1668#[derive(Debug, Default)]
1670pub struct DefaultResolver {
1671 partition_resolver: crate::endpoint_lib::partition::PartitionResolver,
1672}
1673
1674impl DefaultResolver {
1675 pub fn new() -> Self {
1677 Self {
1678 partition_resolver: crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER.clone(),
1679 }
1680 }
1681
1682 fn resolve_endpoint(
1683 &self,
1684 params: &crate::config::endpoint::Params,
1685 ) -> Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
1686 let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
1687 Ok(
1688 crate::config::endpoint::internals::resolve_endpoint(params, &mut diagnostic_collector, &self.partition_resolver)
1689 .map_err(|err| err.with_source(diagnostic_collector.take_last_error()))?,
1690 )
1691 }
1692}
1693
1694impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
1695 fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture {
1696 ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(self.resolve_endpoint(params))
1697 }
1698}
1699
1700#[non_exhaustive]
1701#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
1702pub struct Params {
1704 pub(crate) region: ::std::option::Option<::std::string::String>,
1706 pub(crate) use_dual_stack: bool,
1708 pub(crate) use_fips: bool,
1710 pub(crate) endpoint: ::std::option::Option<::std::string::String>,
1712 pub(crate) use_global_endpoint: bool,
1714}
1715impl Params {
1716 pub fn builder() -> crate::config::endpoint::ParamsBuilder {
1718 crate::config::endpoint::ParamsBuilder::default()
1719 }
1720 pub fn region(&self) -> ::std::option::Option<&str> {
1722 self.region.as_deref()
1723 }
1724 pub fn use_dual_stack(&self) -> ::std::option::Option<bool> {
1726 Some(self.use_dual_stack)
1727 }
1728 pub fn use_fips(&self) -> ::std::option::Option<bool> {
1730 Some(self.use_fips)
1731 }
1732 pub fn endpoint(&self) -> ::std::option::Option<&str> {
1734 self.endpoint.as_deref()
1735 }
1736 pub fn use_global_endpoint(&self) -> ::std::option::Option<bool> {
1738 Some(self.use_global_endpoint)
1739 }
1740}
1741
1742#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
1744pub struct ParamsBuilder {
1745 region: ::std::option::Option<::std::string::String>,
1746 use_dual_stack: ::std::option::Option<bool>,
1747 use_fips: ::std::option::Option<bool>,
1748 endpoint: ::std::option::Option<::std::string::String>,
1749 use_global_endpoint: ::std::option::Option<bool>,
1750}
1751impl ParamsBuilder {
1752 pub fn build(self) -> ::std::result::Result<crate::config::endpoint::Params, crate::config::endpoint::InvalidParams> {
1754 Ok(
1755 #[allow(clippy::unnecessary_lazy_evaluations)]
1756 crate::config::endpoint::Params {
1757 region: self.region,
1758 use_dual_stack: self
1759 .use_dual_stack
1760 .or_else(|| Some(false))
1761 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_dual_stack"))?,
1762 use_fips: self
1763 .use_fips
1764 .or_else(|| Some(false))
1765 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_fips"))?,
1766 endpoint: self.endpoint,
1767 use_global_endpoint: self
1768 .use_global_endpoint
1769 .or_else(|| Some(false))
1770 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_global_endpoint"))?,
1771 },
1772 )
1773 }
1774 pub fn region(mut self, value: impl Into<::std::string::String>) -> Self {
1778 self.region = Some(value.into());
1779 self
1780 }
1781
1782 pub fn set_region(mut self, param: Option<::std::string::String>) -> Self {
1786 self.region = param;
1787 self
1788 }
1789 pub fn use_dual_stack(mut self, value: impl Into<bool>) -> Self {
1794 self.use_dual_stack = Some(value.into());
1795 self
1796 }
1797
1798 pub fn set_use_dual_stack(mut self, param: Option<bool>) -> Self {
1803 self.use_dual_stack = param;
1804 self
1805 }
1806 pub fn use_fips(mut self, value: impl Into<bool>) -> Self {
1811 self.use_fips = Some(value.into());
1812 self
1813 }
1814
1815 pub fn set_use_fips(mut self, param: Option<bool>) -> Self {
1820 self.use_fips = param;
1821 self
1822 }
1823 pub fn endpoint(mut self, value: impl Into<::std::string::String>) -> Self {
1827 self.endpoint = Some(value.into());
1828 self
1829 }
1830
1831 pub fn set_endpoint(mut self, param: Option<::std::string::String>) -> Self {
1835 self.endpoint = param;
1836 self
1837 }
1838 pub fn use_global_endpoint(mut self, value: impl Into<bool>) -> Self {
1843 self.use_global_endpoint = Some(value.into());
1844 self
1845 }
1846
1847 pub fn set_use_global_endpoint(mut self, param: Option<bool>) -> Self {
1852 self.use_global_endpoint = param;
1853 self
1854 }
1855}
1856
1857#[derive(Debug)]
1859pub struct InvalidParams {
1860 field: std::borrow::Cow<'static, str>,
1861}
1862
1863impl InvalidParams {
1864 #[allow(dead_code)]
1865 fn missing(field: &'static str) -> Self {
1866 Self { field: field.into() }
1867 }
1868}
1869
1870impl std::fmt::Display for InvalidParams {
1871 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1872 write!(f, "a required field was missing: `{}`", self.field)
1873 }
1874}
1875
1876impl std::error::Error for InvalidParams {}
1877
1878mod internals;