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![{
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 .into()]
215 )
216 .build()
217 );
218 }
219
220 #[test]
222 fn test_11() {
223 let params = crate::config::endpoint::Params::builder()
224 .region("ca-central-1".to_string())
225 .use_fips(false)
226 .use_dual_stack(false)
227 .build()
228 .expect("invalid params");
229 let resolver = crate::config::endpoint::DefaultResolver::new();
230 let endpoint = resolver.resolve_endpoint(¶ms);
231 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.ca-central-1.amazonaws.com");
232 assert_eq!(
233 endpoint,
234 ::aws_smithy_types::endpoint::Endpoint::builder()
235 .url("https://sts.ca-central-1.amazonaws.com")
236 .build()
237 );
238 }
239
240 #[test]
242 fn test_12() {
243 let params = crate::config::endpoint::Params::builder()
244 .region("eu-central-1".to_string())
245 .use_fips(false)
246 .use_dual_stack(false)
247 .build()
248 .expect("invalid params");
249 let resolver = crate::config::endpoint::DefaultResolver::new();
250 let endpoint = resolver.resolve_endpoint(¶ms);
251 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-central-1.amazonaws.com");
252 assert_eq!(
253 endpoint,
254 ::aws_smithy_types::endpoint::Endpoint::builder()
255 .url("https://sts.eu-central-1.amazonaws.com")
256 .build()
257 );
258 }
259
260 #[test]
262 fn test_13() {
263 let params = crate::config::endpoint::Params::builder()
264 .region("eu-north-1".to_string())
265 .use_fips(false)
266 .use_dual_stack(false)
267 .build()
268 .expect("invalid params");
269 let resolver = crate::config::endpoint::DefaultResolver::new();
270 let endpoint = resolver.resolve_endpoint(¶ms);
271 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-north-1.amazonaws.com");
272 assert_eq!(
273 endpoint,
274 ::aws_smithy_types::endpoint::Endpoint::builder()
275 .url("https://sts.eu-north-1.amazonaws.com")
276 .build()
277 );
278 }
279
280 #[test]
282 fn test_14() {
283 let params = crate::config::endpoint::Params::builder()
284 .region("eu-south-1".to_string())
285 .use_fips(false)
286 .use_dual_stack(false)
287 .build()
288 .expect("invalid params");
289 let resolver = crate::config::endpoint::DefaultResolver::new();
290 let endpoint = resolver.resolve_endpoint(¶ms);
291 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-south-1.amazonaws.com");
292 assert_eq!(
293 endpoint,
294 ::aws_smithy_types::endpoint::Endpoint::builder()
295 .url("https://sts.eu-south-1.amazonaws.com")
296 .build()
297 );
298 }
299
300 #[test]
302 fn test_15() {
303 let params = crate::config::endpoint::Params::builder()
304 .region("eu-west-1".to_string())
305 .use_fips(false)
306 .use_dual_stack(false)
307 .build()
308 .expect("invalid params");
309 let resolver = crate::config::endpoint::DefaultResolver::new();
310 let endpoint = resolver.resolve_endpoint(¶ms);
311 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-1.amazonaws.com");
312 assert_eq!(
313 endpoint,
314 ::aws_smithy_types::endpoint::Endpoint::builder()
315 .url("https://sts.eu-west-1.amazonaws.com")
316 .build()
317 );
318 }
319
320 #[test]
322 fn test_16() {
323 let params = crate::config::endpoint::Params::builder()
324 .region("eu-west-2".to_string())
325 .use_fips(false)
326 .use_dual_stack(false)
327 .build()
328 .expect("invalid params");
329 let resolver = crate::config::endpoint::DefaultResolver::new();
330 let endpoint = resolver.resolve_endpoint(¶ms);
331 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-2.amazonaws.com");
332 assert_eq!(
333 endpoint,
334 ::aws_smithy_types::endpoint::Endpoint::builder()
335 .url("https://sts.eu-west-2.amazonaws.com")
336 .build()
337 );
338 }
339
340 #[test]
342 fn test_17() {
343 let params = crate::config::endpoint::Params::builder()
344 .region("eu-west-3".to_string())
345 .use_fips(false)
346 .use_dual_stack(false)
347 .build()
348 .expect("invalid params");
349 let resolver = crate::config::endpoint::DefaultResolver::new();
350 let endpoint = resolver.resolve_endpoint(¶ms);
351 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.eu-west-3.amazonaws.com");
352 assert_eq!(
353 endpoint,
354 ::aws_smithy_types::endpoint::Endpoint::builder()
355 .url("https://sts.eu-west-3.amazonaws.com")
356 .build()
357 );
358 }
359
360 #[test]
362 fn test_18() {
363 let params = crate::config::endpoint::Params::builder()
364 .region("me-south-1".to_string())
365 .use_fips(false)
366 .use_dual_stack(false)
367 .build()
368 .expect("invalid params");
369 let resolver = crate::config::endpoint::DefaultResolver::new();
370 let endpoint = resolver.resolve_endpoint(¶ms);
371 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.me-south-1.amazonaws.com");
372 assert_eq!(
373 endpoint,
374 ::aws_smithy_types::endpoint::Endpoint::builder()
375 .url("https://sts.me-south-1.amazonaws.com")
376 .build()
377 );
378 }
379
380 #[test]
382 fn test_19() {
383 let params = crate::config::endpoint::Params::builder()
384 .region("sa-east-1".to_string())
385 .use_fips(false)
386 .use_dual_stack(false)
387 .build()
388 .expect("invalid params");
389 let resolver = crate::config::endpoint::DefaultResolver::new();
390 let endpoint = resolver.resolve_endpoint(¶ms);
391 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.sa-east-1.amazonaws.com");
392 assert_eq!(
393 endpoint,
394 ::aws_smithy_types::endpoint::Endpoint::builder()
395 .url("https://sts.sa-east-1.amazonaws.com")
396 .build()
397 );
398 }
399
400 #[test]
402 fn test_20() {
403 let params = crate::config::endpoint::Params::builder()
404 .region("us-east-1".to_string())
405 .use_fips(false)
406 .use_dual_stack(false)
407 .build()
408 .expect("invalid params");
409 let resolver = crate::config::endpoint::DefaultResolver::new();
410 let endpoint = resolver.resolve_endpoint(¶ms);
411 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-1.amazonaws.com");
412 assert_eq!(
413 endpoint,
414 ::aws_smithy_types::endpoint::Endpoint::builder()
415 .url("https://sts.us-east-1.amazonaws.com")
416 .build()
417 );
418 }
419
420 #[test]
422 fn test_21() {
423 let params = crate::config::endpoint::Params::builder()
424 .region("us-east-1".to_string())
425 .use_fips(true)
426 .use_dual_stack(false)
427 .build()
428 .expect("invalid params");
429 let resolver = crate::config::endpoint::DefaultResolver::new();
430 let endpoint = resolver.resolve_endpoint(¶ms);
431 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-1.amazonaws.com");
432 assert_eq!(
433 endpoint,
434 ::aws_smithy_types::endpoint::Endpoint::builder()
435 .url("https://sts-fips.us-east-1.amazonaws.com")
436 .build()
437 );
438 }
439
440 #[test]
442 fn test_22() {
443 let params = crate::config::endpoint::Params::builder()
444 .region("us-east-2".to_string())
445 .use_fips(false)
446 .use_dual_stack(false)
447 .build()
448 .expect("invalid params");
449 let resolver = crate::config::endpoint::DefaultResolver::new();
450 let endpoint = resolver.resolve_endpoint(¶ms);
451 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-2.amazonaws.com");
452 assert_eq!(
453 endpoint,
454 ::aws_smithy_types::endpoint::Endpoint::builder()
455 .url("https://sts.us-east-2.amazonaws.com")
456 .build()
457 );
458 }
459
460 #[test]
462 fn test_23() {
463 let params = crate::config::endpoint::Params::builder()
464 .region("us-east-2".to_string())
465 .use_fips(true)
466 .use_dual_stack(false)
467 .build()
468 .expect("invalid params");
469 let resolver = crate::config::endpoint::DefaultResolver::new();
470 let endpoint = resolver.resolve_endpoint(¶ms);
471 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-2.amazonaws.com");
472 assert_eq!(
473 endpoint,
474 ::aws_smithy_types::endpoint::Endpoint::builder()
475 .url("https://sts-fips.us-east-2.amazonaws.com")
476 .build()
477 );
478 }
479
480 #[test]
482 fn test_24() {
483 let params = crate::config::endpoint::Params::builder()
484 .region("us-west-1".to_string())
485 .use_fips(false)
486 .use_dual_stack(false)
487 .build()
488 .expect("invalid params");
489 let resolver = crate::config::endpoint::DefaultResolver::new();
490 let endpoint = resolver.resolve_endpoint(¶ms);
491 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-west-1.amazonaws.com");
492 assert_eq!(
493 endpoint,
494 ::aws_smithy_types::endpoint::Endpoint::builder()
495 .url("https://sts.us-west-1.amazonaws.com")
496 .build()
497 );
498 }
499
500 #[test]
502 fn test_25() {
503 let params = crate::config::endpoint::Params::builder()
504 .region("us-west-1".to_string())
505 .use_fips(true)
506 .use_dual_stack(false)
507 .build()
508 .expect("invalid params");
509 let resolver = crate::config::endpoint::DefaultResolver::new();
510 let endpoint = resolver.resolve_endpoint(¶ms);
511 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-west-1.amazonaws.com");
512 assert_eq!(
513 endpoint,
514 ::aws_smithy_types::endpoint::Endpoint::builder()
515 .url("https://sts-fips.us-west-1.amazonaws.com")
516 .build()
517 );
518 }
519
520 #[test]
522 fn test_26() {
523 let params = crate::config::endpoint::Params::builder()
524 .region("us-west-2".to_string())
525 .use_fips(false)
526 .use_dual_stack(false)
527 .build()
528 .expect("invalid params");
529 let resolver = crate::config::endpoint::DefaultResolver::new();
530 let endpoint = resolver.resolve_endpoint(¶ms);
531 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-west-2.amazonaws.com");
532 assert_eq!(
533 endpoint,
534 ::aws_smithy_types::endpoint::Endpoint::builder()
535 .url("https://sts.us-west-2.amazonaws.com")
536 .build()
537 );
538 }
539
540 #[test]
542 fn test_27() {
543 let params = crate::config::endpoint::Params::builder()
544 .region("us-west-2".to_string())
545 .use_fips(true)
546 .use_dual_stack(false)
547 .build()
548 .expect("invalid params");
549 let resolver = crate::config::endpoint::DefaultResolver::new();
550 let endpoint = resolver.resolve_endpoint(¶ms);
551 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-west-2.amazonaws.com");
552 assert_eq!(
553 endpoint,
554 ::aws_smithy_types::endpoint::Endpoint::builder()
555 .url("https://sts-fips.us-west-2.amazonaws.com")
556 .build()
557 );
558 }
559
560 #[test]
562 fn test_28() {
563 let params = crate::config::endpoint::Params::builder()
564 .region("us-east-1".to_string())
565 .use_fips(true)
566 .use_dual_stack(true)
567 .build()
568 .expect("invalid params");
569 let resolver = crate::config::endpoint::DefaultResolver::new();
570 let endpoint = resolver.resolve_endpoint(¶ms);
571 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-east-1.api.aws");
572 assert_eq!(
573 endpoint,
574 ::aws_smithy_types::endpoint::Endpoint::builder()
575 .url("https://sts-fips.us-east-1.api.aws")
576 .build()
577 );
578 }
579
580 #[test]
582 fn test_29() {
583 let params = crate::config::endpoint::Params::builder()
584 .region("us-east-1".to_string())
585 .use_fips(false)
586 .use_dual_stack(true)
587 .build()
588 .expect("invalid params");
589 let resolver = crate::config::endpoint::DefaultResolver::new();
590 let endpoint = resolver.resolve_endpoint(¶ms);
591 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-1.api.aws");
592 assert_eq!(
593 endpoint,
594 ::aws_smithy_types::endpoint::Endpoint::builder()
595 .url("https://sts.us-east-1.api.aws")
596 .build()
597 );
598 }
599
600 #[test]
602 fn test_30() {
603 let params = crate::config::endpoint::Params::builder()
604 .region("cn-north-1".to_string())
605 .use_fips(false)
606 .use_dual_stack(false)
607 .build()
608 .expect("invalid params");
609 let resolver = crate::config::endpoint::DefaultResolver::new();
610 let endpoint = resolver.resolve_endpoint(¶ms);
611 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-north-1.amazonaws.com.cn");
612 assert_eq!(
613 endpoint,
614 ::aws_smithy_types::endpoint::Endpoint::builder()
615 .url("https://sts.cn-north-1.amazonaws.com.cn")
616 .build()
617 );
618 }
619
620 #[test]
622 fn test_31() {
623 let params = crate::config::endpoint::Params::builder()
624 .region("cn-northwest-1".to_string())
625 .use_fips(false)
626 .use_dual_stack(false)
627 .build()
628 .expect("invalid params");
629 let resolver = crate::config::endpoint::DefaultResolver::new();
630 let endpoint = resolver.resolve_endpoint(¶ms);
631 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-northwest-1.amazonaws.com.cn");
632 assert_eq!(
633 endpoint,
634 ::aws_smithy_types::endpoint::Endpoint::builder()
635 .url("https://sts.cn-northwest-1.amazonaws.com.cn")
636 .build()
637 );
638 }
639
640 #[test]
642 fn test_32() {
643 let params = crate::config::endpoint::Params::builder()
644 .region("cn-north-1".to_string())
645 .use_fips(true)
646 .use_dual_stack(true)
647 .build()
648 .expect("invalid params");
649 let resolver = crate::config::endpoint::DefaultResolver::new();
650 let endpoint = resolver.resolve_endpoint(¶ms);
651 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.cn-north-1.api.amazonwebservices.com.cn");
652 assert_eq!(
653 endpoint,
654 ::aws_smithy_types::endpoint::Endpoint::builder()
655 .url("https://sts-fips.cn-north-1.api.amazonwebservices.com.cn")
656 .build()
657 );
658 }
659
660 #[test]
662 fn test_33() {
663 let params = crate::config::endpoint::Params::builder()
664 .region("cn-north-1".to_string())
665 .use_fips(true)
666 .use_dual_stack(false)
667 .build()
668 .expect("invalid params");
669 let resolver = crate::config::endpoint::DefaultResolver::new();
670 let endpoint = resolver.resolve_endpoint(¶ms);
671 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.cn-north-1.amazonaws.com.cn");
672 assert_eq!(
673 endpoint,
674 ::aws_smithy_types::endpoint::Endpoint::builder()
675 .url("https://sts-fips.cn-north-1.amazonaws.com.cn")
676 .build()
677 );
678 }
679
680 #[test]
682 fn test_34() {
683 let params = crate::config::endpoint::Params::builder()
684 .region("cn-north-1".to_string())
685 .use_fips(false)
686 .use_dual_stack(true)
687 .build()
688 .expect("invalid params");
689 let resolver = crate::config::endpoint::DefaultResolver::new();
690 let endpoint = resolver.resolve_endpoint(¶ms);
691 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.cn-north-1.api.amazonwebservices.com.cn");
692 assert_eq!(
693 endpoint,
694 ::aws_smithy_types::endpoint::Endpoint::builder()
695 .url("https://sts.cn-north-1.api.amazonwebservices.com.cn")
696 .build()
697 );
698 }
699
700 #[test]
702 fn test_35() {
703 let params = crate::config::endpoint::Params::builder()
704 .region("us-gov-east-1".to_string())
705 .use_fips(false)
706 .use_dual_stack(false)
707 .build()
708 .expect("invalid params");
709 let resolver = crate::config::endpoint::DefaultResolver::new();
710 let endpoint = resolver.resolve_endpoint(¶ms);
711 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.amazonaws.com");
712 assert_eq!(
713 endpoint,
714 ::aws_smithy_types::endpoint::Endpoint::builder()
715 .url("https://sts.us-gov-east-1.amazonaws.com")
716 .build()
717 );
718 }
719
720 #[test]
722 fn test_36() {
723 let params = crate::config::endpoint::Params::builder()
724 .region("us-gov-east-1".to_string())
725 .use_fips(true)
726 .use_dual_stack(false)
727 .build()
728 .expect("invalid params");
729 let resolver = crate::config::endpoint::DefaultResolver::new();
730 let endpoint = resolver.resolve_endpoint(¶ms);
731 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.amazonaws.com");
732 assert_eq!(
733 endpoint,
734 ::aws_smithy_types::endpoint::Endpoint::builder()
735 .url("https://sts.us-gov-east-1.amazonaws.com")
736 .build()
737 );
738 }
739
740 #[test]
742 fn test_37() {
743 let params = crate::config::endpoint::Params::builder()
744 .region("us-gov-west-1".to_string())
745 .use_fips(false)
746 .use_dual_stack(false)
747 .build()
748 .expect("invalid params");
749 let resolver = crate::config::endpoint::DefaultResolver::new();
750 let endpoint = resolver.resolve_endpoint(¶ms);
751 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-west-1.amazonaws.com");
752 assert_eq!(
753 endpoint,
754 ::aws_smithy_types::endpoint::Endpoint::builder()
755 .url("https://sts.us-gov-west-1.amazonaws.com")
756 .build()
757 );
758 }
759
760 #[test]
762 fn test_38() {
763 let params = crate::config::endpoint::Params::builder()
764 .region("us-gov-west-1".to_string())
765 .use_fips(true)
766 .use_dual_stack(false)
767 .build()
768 .expect("invalid params");
769 let resolver = crate::config::endpoint::DefaultResolver::new();
770 let endpoint = resolver.resolve_endpoint(¶ms);
771 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-west-1.amazonaws.com");
772 assert_eq!(
773 endpoint,
774 ::aws_smithy_types::endpoint::Endpoint::builder()
775 .url("https://sts.us-gov-west-1.amazonaws.com")
776 .build()
777 );
778 }
779
780 #[test]
782 fn test_39() {
783 let params = crate::config::endpoint::Params::builder()
784 .region("us-gov-east-1".to_string())
785 .use_fips(true)
786 .use_dual_stack(true)
787 .build()
788 .expect("invalid params");
789 let resolver = crate::config::endpoint::DefaultResolver::new();
790 let endpoint = resolver.resolve_endpoint(¶ms);
791 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-gov-east-1.api.aws");
792 assert_eq!(
793 endpoint,
794 ::aws_smithy_types::endpoint::Endpoint::builder()
795 .url("https://sts-fips.us-gov-east-1.api.aws")
796 .build()
797 );
798 }
799
800 #[test]
802 fn test_40() {
803 let params = crate::config::endpoint::Params::builder()
804 .region("us-gov-east-1".to_string())
805 .use_fips(false)
806 .use_dual_stack(true)
807 .build()
808 .expect("invalid params");
809 let resolver = crate::config::endpoint::DefaultResolver::new();
810 let endpoint = resolver.resolve_endpoint(¶ms);
811 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-gov-east-1.api.aws");
812 assert_eq!(
813 endpoint,
814 ::aws_smithy_types::endpoint::Endpoint::builder()
815 .url("https://sts.us-gov-east-1.api.aws")
816 .build()
817 );
818 }
819
820 #[test]
822 fn test_41() {
823 let params = crate::config::endpoint::Params::builder()
824 .region("us-iso-east-1".to_string())
825 .use_fips(false)
826 .use_dual_stack(false)
827 .build()
828 .expect("invalid params");
829 let resolver = crate::config::endpoint::DefaultResolver::new();
830 let endpoint = resolver.resolve_endpoint(¶ms);
831 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-iso-east-1.c2s.ic.gov");
832 assert_eq!(
833 endpoint,
834 ::aws_smithy_types::endpoint::Endpoint::builder()
835 .url("https://sts.us-iso-east-1.c2s.ic.gov")
836 .build()
837 );
838 }
839
840 #[test]
842 fn test_42() {
843 let params = crate::config::endpoint::Params::builder()
844 .region("us-iso-west-1".to_string())
845 .use_fips(false)
846 .use_dual_stack(false)
847 .build()
848 .expect("invalid params");
849 let resolver = crate::config::endpoint::DefaultResolver::new();
850 let endpoint = resolver.resolve_endpoint(¶ms);
851 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-iso-west-1.c2s.ic.gov");
852 assert_eq!(
853 endpoint,
854 ::aws_smithy_types::endpoint::Endpoint::builder()
855 .url("https://sts.us-iso-west-1.c2s.ic.gov")
856 .build()
857 );
858 }
859
860 #[test]
862 fn test_43() {
863 let params = crate::config::endpoint::Params::builder()
864 .region("us-iso-east-1".to_string())
865 .use_fips(true)
866 .use_dual_stack(false)
867 .build()
868 .expect("invalid params");
869 let resolver = crate::config::endpoint::DefaultResolver::new();
870 let endpoint = resolver.resolve_endpoint(¶ms);
871 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-iso-east-1.c2s.ic.gov");
872 assert_eq!(
873 endpoint,
874 ::aws_smithy_types::endpoint::Endpoint::builder()
875 .url("https://sts-fips.us-iso-east-1.c2s.ic.gov")
876 .build()
877 );
878 }
879
880 #[test]
882 fn test_44() {
883 let params = crate::config::endpoint::Params::builder()
884 .region("us-isob-east-1".to_string())
885 .use_fips(false)
886 .use_dual_stack(false)
887 .build()
888 .expect("invalid params");
889 let resolver = crate::config::endpoint::DefaultResolver::new();
890 let endpoint = resolver.resolve_endpoint(¶ms);
891 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-isob-east-1.sc2s.sgov.gov");
892 assert_eq!(
893 endpoint,
894 ::aws_smithy_types::endpoint::Endpoint::builder()
895 .url("https://sts.us-isob-east-1.sc2s.sgov.gov")
896 .build()
897 );
898 }
899
900 #[test]
902 fn test_45() {
903 let params = crate::config::endpoint::Params::builder()
904 .region("us-isob-east-1".to_string())
905 .use_fips(true)
906 .use_dual_stack(false)
907 .build()
908 .expect("invalid params");
909 let resolver = crate::config::endpoint::DefaultResolver::new();
910 let endpoint = resolver.resolve_endpoint(¶ms);
911 let endpoint = endpoint.expect("Expected valid endpoint: https://sts-fips.us-isob-east-1.sc2s.sgov.gov");
912 assert_eq!(
913 endpoint,
914 ::aws_smithy_types::endpoint::Endpoint::builder()
915 .url("https://sts-fips.us-isob-east-1.sc2s.sgov.gov")
916 .build()
917 );
918 }
919
920 #[test]
922 fn test_46() {
923 let params = crate::config::endpoint::Params::builder()
924 .region("us-east-1".to_string())
925 .use_fips(false)
926 .use_dual_stack(false)
927 .endpoint("https://example.com".to_string())
928 .build()
929 .expect("invalid params");
930 let resolver = crate::config::endpoint::DefaultResolver::new();
931 let endpoint = resolver.resolve_endpoint(¶ms);
932 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
933 assert_eq!(
934 endpoint,
935 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
936 );
937 }
938
939 #[test]
941 fn test_47() {
942 let params = crate::config::endpoint::Params::builder()
943 .use_fips(false)
944 .use_dual_stack(false)
945 .endpoint("https://example.com".to_string())
946 .build()
947 .expect("invalid params");
948 let resolver = crate::config::endpoint::DefaultResolver::new();
949 let endpoint = resolver.resolve_endpoint(¶ms);
950 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
951 assert_eq!(
952 endpoint,
953 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
954 );
955 }
956
957 #[test]
959 fn test_48() {
960 let params = crate::config::endpoint::Params::builder()
961 .region("us-east-1".to_string())
962 .use_fips(true)
963 .use_dual_stack(false)
964 .endpoint("https://example.com".to_string())
965 .build()
966 .expect("invalid params");
967 let resolver = crate::config::endpoint::DefaultResolver::new();
968 let endpoint = resolver.resolve_endpoint(¶ms);
969 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]");
970 assert_eq!(format!("{}", error), "Invalid Configuration: FIPS and custom endpoint are not supported")
971 }
972
973 #[test]
975 fn test_49() {
976 let params = crate::config::endpoint::Params::builder()
977 .region("us-east-1".to_string())
978 .use_fips(false)
979 .use_dual_stack(true)
980 .endpoint("https://example.com".to_string())
981 .build()
982 .expect("invalid params");
983 let resolver = crate::config::endpoint::DefaultResolver::new();
984 let endpoint = resolver.resolve_endpoint(¶ms);
985 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]");
986 assert_eq!(
987 format!("{}", error),
988 "Invalid Configuration: Dualstack and custom endpoint are not supported"
989 )
990 }
991
992 #[test]
994 fn test_50() {
995 let params = crate::config::endpoint::Params::builder().build().expect("invalid params");
996 let resolver = crate::config::endpoint::DefaultResolver::new();
997 let endpoint = resolver.resolve_endpoint(¶ms);
998 let error = endpoint.expect_err("expected error: Invalid Configuration: Missing Region [Missing region]");
999 assert_eq!(format!("{}", error), "Invalid Configuration: Missing Region")
1000 }
1001
1002 #[test]
1004 fn test_51() {
1005 let params = crate::config::endpoint::Params::builder()
1006 .region("ap-northeast-1".to_string())
1007 .use_fips(false)
1008 .use_dual_stack(false)
1009 .use_global_endpoint(true)
1010 .build()
1011 .expect("invalid params");
1012 let resolver = crate::config::endpoint::DefaultResolver::new();
1013 let endpoint = resolver.resolve_endpoint(¶ms);
1014 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1015 assert_eq!(
1016 endpoint,
1017 ::aws_smithy_types::endpoint::Endpoint::builder()
1018 .url("https://sts.amazonaws.com")
1019 .property(
1020 "authSchemes",
1021 vec![{
1022 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1023 out.insert("name".to_string(), "sigv4".to_string().into());
1024 out.insert("signingName".to_string(), "sts".to_string().into());
1025 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1026 out
1027 }
1028 .into()]
1029 )
1030 .build()
1031 );
1032 }
1033
1034 #[test]
1036 fn test_52() {
1037 let params = crate::config::endpoint::Params::builder()
1038 .region("ap-south-1".to_string())
1039 .use_fips(false)
1040 .use_dual_stack(false)
1041 .use_global_endpoint(true)
1042 .build()
1043 .expect("invalid params");
1044 let resolver = crate::config::endpoint::DefaultResolver::new();
1045 let endpoint = resolver.resolve_endpoint(¶ms);
1046 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1047 assert_eq!(
1048 endpoint,
1049 ::aws_smithy_types::endpoint::Endpoint::builder()
1050 .url("https://sts.amazonaws.com")
1051 .property(
1052 "authSchemes",
1053 vec![{
1054 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1055 out.insert("name".to_string(), "sigv4".to_string().into());
1056 out.insert("signingName".to_string(), "sts".to_string().into());
1057 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1058 out
1059 }
1060 .into()]
1061 )
1062 .build()
1063 );
1064 }
1065
1066 #[test]
1068 fn test_53() {
1069 let params = crate::config::endpoint::Params::builder()
1070 .region("ap-southeast-1".to_string())
1071 .use_fips(false)
1072 .use_dual_stack(false)
1073 .use_global_endpoint(true)
1074 .build()
1075 .expect("invalid params");
1076 let resolver = crate::config::endpoint::DefaultResolver::new();
1077 let endpoint = resolver.resolve_endpoint(¶ms);
1078 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1079 assert_eq!(
1080 endpoint,
1081 ::aws_smithy_types::endpoint::Endpoint::builder()
1082 .url("https://sts.amazonaws.com")
1083 .property(
1084 "authSchemes",
1085 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 }
1092 .into()]
1093 )
1094 .build()
1095 );
1096 }
1097
1098 #[test]
1100 fn test_54() {
1101 let params = crate::config::endpoint::Params::builder()
1102 .region("ap-southeast-2".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![{
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 .into()]
1125 )
1126 .build()
1127 );
1128 }
1129
1130 #[test]
1132 fn test_55() {
1133 let params = crate::config::endpoint::Params::builder()
1134 .region("aws-global".to_string())
1135 .use_fips(false)
1136 .use_dual_stack(false)
1137 .use_global_endpoint(true)
1138 .build()
1139 .expect("invalid params");
1140 let resolver = crate::config::endpoint::DefaultResolver::new();
1141 let endpoint = resolver.resolve_endpoint(¶ms);
1142 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1143 assert_eq!(
1144 endpoint,
1145 ::aws_smithy_types::endpoint::Endpoint::builder()
1146 .url("https://sts.amazonaws.com")
1147 .property(
1148 "authSchemes",
1149 vec![{
1150 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1151 out.insert("name".to_string(), "sigv4".to_string().into());
1152 out.insert("signingName".to_string(), "sts".to_string().into());
1153 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1154 out
1155 }
1156 .into()]
1157 )
1158 .build()
1159 );
1160 }
1161
1162 #[test]
1164 fn test_56() {
1165 let params = crate::config::endpoint::Params::builder()
1166 .region("ca-central-1".to_string())
1167 .use_fips(false)
1168 .use_dual_stack(false)
1169 .use_global_endpoint(true)
1170 .build()
1171 .expect("invalid params");
1172 let resolver = crate::config::endpoint::DefaultResolver::new();
1173 let endpoint = resolver.resolve_endpoint(¶ms);
1174 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1175 assert_eq!(
1176 endpoint,
1177 ::aws_smithy_types::endpoint::Endpoint::builder()
1178 .url("https://sts.amazonaws.com")
1179 .property(
1180 "authSchemes",
1181 vec![{
1182 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1183 out.insert("name".to_string(), "sigv4".to_string().into());
1184 out.insert("signingName".to_string(), "sts".to_string().into());
1185 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1186 out
1187 }
1188 .into()]
1189 )
1190 .build()
1191 );
1192 }
1193
1194 #[test]
1196 fn test_57() {
1197 let params = crate::config::endpoint::Params::builder()
1198 .region("eu-central-1".to_string())
1199 .use_fips(false)
1200 .use_dual_stack(false)
1201 .use_global_endpoint(true)
1202 .build()
1203 .expect("invalid params");
1204 let resolver = crate::config::endpoint::DefaultResolver::new();
1205 let endpoint = resolver.resolve_endpoint(¶ms);
1206 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1207 assert_eq!(
1208 endpoint,
1209 ::aws_smithy_types::endpoint::Endpoint::builder()
1210 .url("https://sts.amazonaws.com")
1211 .property(
1212 "authSchemes",
1213 vec![{
1214 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1215 out.insert("name".to_string(), "sigv4".to_string().into());
1216 out.insert("signingName".to_string(), "sts".to_string().into());
1217 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1218 out
1219 }
1220 .into()]
1221 )
1222 .build()
1223 );
1224 }
1225
1226 #[test]
1228 fn test_58() {
1229 let params = crate::config::endpoint::Params::builder()
1230 .region("eu-north-1".to_string())
1231 .use_fips(false)
1232 .use_dual_stack(false)
1233 .use_global_endpoint(true)
1234 .build()
1235 .expect("invalid params");
1236 let resolver = crate::config::endpoint::DefaultResolver::new();
1237 let endpoint = resolver.resolve_endpoint(¶ms);
1238 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1239 assert_eq!(
1240 endpoint,
1241 ::aws_smithy_types::endpoint::Endpoint::builder()
1242 .url("https://sts.amazonaws.com")
1243 .property(
1244 "authSchemes",
1245 vec![{
1246 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1247 out.insert("name".to_string(), "sigv4".to_string().into());
1248 out.insert("signingName".to_string(), "sts".to_string().into());
1249 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1250 out
1251 }
1252 .into()]
1253 )
1254 .build()
1255 );
1256 }
1257
1258 #[test]
1260 fn test_59() {
1261 let params = crate::config::endpoint::Params::builder()
1262 .region("eu-west-1".to_string())
1263 .use_fips(false)
1264 .use_dual_stack(false)
1265 .use_global_endpoint(true)
1266 .build()
1267 .expect("invalid params");
1268 let resolver = crate::config::endpoint::DefaultResolver::new();
1269 let endpoint = resolver.resolve_endpoint(¶ms);
1270 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1271 assert_eq!(
1272 endpoint,
1273 ::aws_smithy_types::endpoint::Endpoint::builder()
1274 .url("https://sts.amazonaws.com")
1275 .property(
1276 "authSchemes",
1277 vec![{
1278 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1279 out.insert("name".to_string(), "sigv4".to_string().into());
1280 out.insert("signingName".to_string(), "sts".to_string().into());
1281 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1282 out
1283 }
1284 .into()]
1285 )
1286 .build()
1287 );
1288 }
1289
1290 #[test]
1292 fn test_60() {
1293 let params = crate::config::endpoint::Params::builder()
1294 .region("eu-west-2".to_string())
1295 .use_fips(false)
1296 .use_dual_stack(false)
1297 .use_global_endpoint(true)
1298 .build()
1299 .expect("invalid params");
1300 let resolver = crate::config::endpoint::DefaultResolver::new();
1301 let endpoint = resolver.resolve_endpoint(¶ms);
1302 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1303 assert_eq!(
1304 endpoint,
1305 ::aws_smithy_types::endpoint::Endpoint::builder()
1306 .url("https://sts.amazonaws.com")
1307 .property(
1308 "authSchemes",
1309 vec![{
1310 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1311 out.insert("name".to_string(), "sigv4".to_string().into());
1312 out.insert("signingName".to_string(), "sts".to_string().into());
1313 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1314 out
1315 }
1316 .into()]
1317 )
1318 .build()
1319 );
1320 }
1321
1322 #[test]
1324 fn test_61() {
1325 let params = crate::config::endpoint::Params::builder()
1326 .region("eu-west-3".to_string())
1327 .use_fips(false)
1328 .use_dual_stack(false)
1329 .use_global_endpoint(true)
1330 .build()
1331 .expect("invalid params");
1332 let resolver = crate::config::endpoint::DefaultResolver::new();
1333 let endpoint = resolver.resolve_endpoint(¶ms);
1334 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1335 assert_eq!(
1336 endpoint,
1337 ::aws_smithy_types::endpoint::Endpoint::builder()
1338 .url("https://sts.amazonaws.com")
1339 .property(
1340 "authSchemes",
1341 vec![{
1342 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1343 out.insert("name".to_string(), "sigv4".to_string().into());
1344 out.insert("signingName".to_string(), "sts".to_string().into());
1345 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1346 out
1347 }
1348 .into()]
1349 )
1350 .build()
1351 );
1352 }
1353
1354 #[test]
1356 fn test_62() {
1357 let params = crate::config::endpoint::Params::builder()
1358 .region("sa-east-1".to_string())
1359 .use_fips(false)
1360 .use_dual_stack(false)
1361 .use_global_endpoint(true)
1362 .build()
1363 .expect("invalid params");
1364 let resolver = crate::config::endpoint::DefaultResolver::new();
1365 let endpoint = resolver.resolve_endpoint(¶ms);
1366 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1367 assert_eq!(
1368 endpoint,
1369 ::aws_smithy_types::endpoint::Endpoint::builder()
1370 .url("https://sts.amazonaws.com")
1371 .property(
1372 "authSchemes",
1373 vec![{
1374 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1375 out.insert("name".to_string(), "sigv4".to_string().into());
1376 out.insert("signingName".to_string(), "sts".to_string().into());
1377 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1378 out
1379 }
1380 .into()]
1381 )
1382 .build()
1383 );
1384 }
1385
1386 #[test]
1388 fn test_63() {
1389 let params = crate::config::endpoint::Params::builder()
1390 .region("us-east-1".to_string())
1391 .use_fips(false)
1392 .use_dual_stack(false)
1393 .use_global_endpoint(true)
1394 .build()
1395 .expect("invalid params");
1396 let resolver = crate::config::endpoint::DefaultResolver::new();
1397 let endpoint = resolver.resolve_endpoint(¶ms);
1398 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1399 assert_eq!(
1400 endpoint,
1401 ::aws_smithy_types::endpoint::Endpoint::builder()
1402 .url("https://sts.amazonaws.com")
1403 .property(
1404 "authSchemes",
1405 vec![{
1406 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1407 out.insert("name".to_string(), "sigv4".to_string().into());
1408 out.insert("signingName".to_string(), "sts".to_string().into());
1409 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1410 out
1411 }
1412 .into()]
1413 )
1414 .build()
1415 );
1416 }
1417
1418 #[test]
1420 fn test_64() {
1421 let params = crate::config::endpoint::Params::builder()
1422 .region("us-east-2".to_string())
1423 .use_fips(false)
1424 .use_dual_stack(false)
1425 .use_global_endpoint(true)
1426 .build()
1427 .expect("invalid params");
1428 let resolver = crate::config::endpoint::DefaultResolver::new();
1429 let endpoint = resolver.resolve_endpoint(¶ms);
1430 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1431 assert_eq!(
1432 endpoint,
1433 ::aws_smithy_types::endpoint::Endpoint::builder()
1434 .url("https://sts.amazonaws.com")
1435 .property(
1436 "authSchemes",
1437 vec![{
1438 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1439 out.insert("name".to_string(), "sigv4".to_string().into());
1440 out.insert("signingName".to_string(), "sts".to_string().into());
1441 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1442 out
1443 }
1444 .into()]
1445 )
1446 .build()
1447 );
1448 }
1449
1450 #[test]
1452 fn test_65() {
1453 let params = crate::config::endpoint::Params::builder()
1454 .region("us-west-1".to_string())
1455 .use_fips(false)
1456 .use_dual_stack(false)
1457 .use_global_endpoint(true)
1458 .build()
1459 .expect("invalid params");
1460 let resolver = crate::config::endpoint::DefaultResolver::new();
1461 let endpoint = resolver.resolve_endpoint(¶ms);
1462 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1463 assert_eq!(
1464 endpoint,
1465 ::aws_smithy_types::endpoint::Endpoint::builder()
1466 .url("https://sts.amazonaws.com")
1467 .property(
1468 "authSchemes",
1469 vec![{
1470 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1471 out.insert("name".to_string(), "sigv4".to_string().into());
1472 out.insert("signingName".to_string(), "sts".to_string().into());
1473 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1474 out
1475 }
1476 .into()]
1477 )
1478 .build()
1479 );
1480 }
1481
1482 #[test]
1484 fn test_66() {
1485 let params = crate::config::endpoint::Params::builder()
1486 .region("us-west-2".to_string())
1487 .use_fips(false)
1488 .use_dual_stack(false)
1489 .use_global_endpoint(true)
1490 .build()
1491 .expect("invalid params");
1492 let resolver = crate::config::endpoint::DefaultResolver::new();
1493 let endpoint = resolver.resolve_endpoint(¶ms);
1494 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.amazonaws.com");
1495 assert_eq!(
1496 endpoint,
1497 ::aws_smithy_types::endpoint::Endpoint::builder()
1498 .url("https://sts.amazonaws.com")
1499 .property(
1500 "authSchemes",
1501 vec![{
1502 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1503 out.insert("name".to_string(), "sigv4".to_string().into());
1504 out.insert("signingName".to_string(), "sts".to_string().into());
1505 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1506 out
1507 }
1508 .into()]
1509 )
1510 .build()
1511 );
1512 }
1513
1514 #[test]
1516 fn test_67() {
1517 let params = crate::config::endpoint::Params::builder()
1518 .region("us-east-3".to_string())
1519 .use_fips(false)
1520 .use_dual_stack(false)
1521 .use_global_endpoint(true)
1522 .build()
1523 .expect("invalid params");
1524 let resolver = crate::config::endpoint::DefaultResolver::new();
1525 let endpoint = resolver.resolve_endpoint(¶ms);
1526 let endpoint = endpoint.expect("Expected valid endpoint: https://sts.us-east-3.amazonaws.com");
1527 assert_eq!(
1528 endpoint,
1529 ::aws_smithy_types::endpoint::Endpoint::builder()
1530 .url("https://sts.us-east-3.amazonaws.com")
1531 .property(
1532 "authSchemes",
1533 vec![{
1534 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1535 out.insert("name".to_string(), "sigv4".to_string().into());
1536 out.insert("signingName".to_string(), "sts".to_string().into());
1537 out.insert("signingRegion".to_string(), "us-east-3".to_string().into());
1538 out
1539 }
1540 .into()]
1541 )
1542 .build()
1543 );
1544 }
1545
1546 #[test]
1548 fn test_68() {
1549 let params = crate::config::endpoint::Params::builder()
1550 .region("us-west-1".to_string())
1551 .use_fips(false)
1552 .use_dual_stack(false)
1553 .use_global_endpoint(true)
1554 .endpoint("https://example.com".to_string())
1555 .build()
1556 .expect("invalid params");
1557 let resolver = crate::config::endpoint::DefaultResolver::new();
1558 let endpoint = resolver.resolve_endpoint(¶ms);
1559 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1560 assert_eq!(
1561 endpoint,
1562 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
1563 );
1564 }
1565
1566 #[test]
1568 fn test_69() {
1569 let params = crate::config::endpoint::Params::builder()
1570 .use_fips(false)
1571 .use_dual_stack(false)
1572 .use_global_endpoint(false)
1573 .endpoint("https://example.com".to_string())
1574 .build()
1575 .expect("invalid params");
1576 let resolver = crate::config::endpoint::DefaultResolver::new();
1577 let endpoint = resolver.resolve_endpoint(¶ms);
1578 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1579 assert_eq!(
1580 endpoint,
1581 ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build()
1582 );
1583 }
1584}
1585
1586pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
1588 fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
1590
1591 fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
1595 where
1596 Self: Sized + 'static,
1597 {
1598 ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
1599 }
1600}
1601
1602#[derive(Debug)]
1603struct DowncastParams<T>(T);
1604impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
1605where
1606 T: ResolveEndpoint,
1607{
1608 fn resolve_endpoint<'a>(
1609 &'a self,
1610 params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams,
1611 ) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
1612 let ep = match params.get::<crate::config::endpoint::Params>() {
1613 Some(params) => self.0.resolve_endpoint(params),
1614 None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
1615 };
1616 ep
1617 }
1618}
1619
1620#[derive(Debug, Default)]
1622pub struct DefaultResolver {
1623 partition_resolver: crate::endpoint_lib::partition::PartitionResolver,
1624}
1625
1626impl DefaultResolver {
1627 pub fn new() -> Self {
1629 Self {
1630 partition_resolver: crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER.clone(),
1631 }
1632 }
1633
1634 fn resolve_endpoint(
1635 &self,
1636 params: &crate::config::endpoint::Params,
1637 ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
1638 let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
1639 Ok(
1640 crate::config::endpoint::internals::resolve_endpoint(params, &mut diagnostic_collector, &self.partition_resolver)
1641 .map_err(|err| err.with_source(diagnostic_collector.take_last_error()))?,
1642 )
1643 }
1644}
1645
1646impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
1647 fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'_> {
1648 ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(self.resolve_endpoint(params))
1649 }
1650}
1651
1652#[non_exhaustive]
1653#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
1654pub struct Params {
1656 pub(crate) region: ::std::option::Option<::std::string::String>,
1658 pub(crate) use_dual_stack: bool,
1660 pub(crate) use_fips: bool,
1662 pub(crate) endpoint: ::std::option::Option<::std::string::String>,
1664 pub(crate) use_global_endpoint: bool,
1666}
1667impl Params {
1668 pub fn builder() -> crate::config::endpoint::ParamsBuilder {
1670 crate::config::endpoint::ParamsBuilder::default()
1671 }
1672 pub fn region(&self) -> ::std::option::Option<&str> {
1674 self.region.as_deref()
1675 }
1676 pub fn use_dual_stack(&self) -> ::std::option::Option<bool> {
1678 Some(self.use_dual_stack)
1679 }
1680 pub fn use_fips(&self) -> ::std::option::Option<bool> {
1682 Some(self.use_fips)
1683 }
1684 pub fn endpoint(&self) -> ::std::option::Option<&str> {
1686 self.endpoint.as_deref()
1687 }
1688 pub fn use_global_endpoint(&self) -> ::std::option::Option<bool> {
1690 Some(self.use_global_endpoint)
1691 }
1692}
1693
1694#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
1696pub struct ParamsBuilder {
1697 region: ::std::option::Option<::std::string::String>,
1698 use_dual_stack: ::std::option::Option<bool>,
1699 use_fips: ::std::option::Option<bool>,
1700 endpoint: ::std::option::Option<::std::string::String>,
1701 use_global_endpoint: ::std::option::Option<bool>,
1702}
1703impl ParamsBuilder {
1704 pub fn build(self) -> ::std::result::Result<crate::config::endpoint::Params, crate::config::endpoint::InvalidParams> {
1706 if let Some(region) = &self.region {
1707 if !crate::endpoint_lib::host::is_valid_host_label(
1708 region.as_ref() as &str,
1709 true,
1710 &mut crate::endpoint_lib::diagnostic::DiagnosticCollector::new(),
1711 ) {
1712 return Err(crate::config::endpoint::InvalidParams::invalid_value(
1713 "region",
1714 "must be a valid host label",
1715 ));
1716 }
1717 };
1718 Ok(
1719 #[allow(clippy::unnecessary_lazy_evaluations)]
1720 crate::config::endpoint::Params {
1721 region: self.region,
1722 use_dual_stack: self
1723 .use_dual_stack
1724 .or_else(|| Some(false))
1725 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_dual_stack"))?,
1726 use_fips: self
1727 .use_fips
1728 .or_else(|| Some(false))
1729 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_fips"))?,
1730 endpoint: self.endpoint,
1731 use_global_endpoint: self
1732 .use_global_endpoint
1733 .or_else(|| Some(false))
1734 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_global_endpoint"))?,
1735 },
1736 )
1737 }
1738 pub fn region(mut self, value: impl Into<::std::string::String>) -> Self {
1742 self.region = Some(value.into());
1743 self
1744 }
1745
1746 pub fn set_region(mut self, param: Option<::std::string::String>) -> Self {
1750 self.region = param;
1751 self
1752 }
1753 pub fn use_dual_stack(mut self, value: impl Into<bool>) -> Self {
1758 self.use_dual_stack = Some(value.into());
1759 self
1760 }
1761
1762 pub fn set_use_dual_stack(mut self, param: Option<bool>) -> Self {
1767 self.use_dual_stack = param;
1768 self
1769 }
1770 pub fn use_fips(mut self, value: impl Into<bool>) -> Self {
1775 self.use_fips = Some(value.into());
1776 self
1777 }
1778
1779 pub fn set_use_fips(mut self, param: Option<bool>) -> Self {
1784 self.use_fips = param;
1785 self
1786 }
1787 pub fn endpoint(mut self, value: impl Into<::std::string::String>) -> Self {
1791 self.endpoint = Some(value.into());
1792 self
1793 }
1794
1795 pub fn set_endpoint(mut self, param: Option<::std::string::String>) -> Self {
1799 self.endpoint = param;
1800 self
1801 }
1802 pub fn use_global_endpoint(mut self, value: impl Into<bool>) -> Self {
1807 self.use_global_endpoint = Some(value.into());
1808 self
1809 }
1810
1811 pub fn set_use_global_endpoint(mut self, param: Option<bool>) -> Self {
1816 self.use_global_endpoint = param;
1817 self
1818 }
1819}
1820
1821#[derive(Debug)]
1823pub struct InvalidParams {
1824 field: std::borrow::Cow<'static, str>,
1825 kind: InvalidParamsErrorKind,
1826}
1827
1828#[derive(Debug)]
1830enum InvalidParamsErrorKind {
1831 MissingField,
1832 InvalidValue { message: &'static str },
1833}
1834
1835impl InvalidParams {
1836 #[allow(dead_code)]
1837 fn missing(field: &'static str) -> Self {
1838 Self {
1839 field: field.into(),
1840 kind: InvalidParamsErrorKind::MissingField,
1841 }
1842 }
1843
1844 #[allow(dead_code)]
1845 fn invalid_value(field: &'static str, message: &'static str) -> Self {
1846 Self {
1847 field: field.into(),
1848 kind: InvalidParamsErrorKind::InvalidValue { message },
1849 }
1850 }
1851}
1852
1853impl std::fmt::Display for InvalidParams {
1854 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1855 match self.kind {
1856 InvalidParamsErrorKind::MissingField => write!(f, "a required field was missing: `{}`", self.field),
1857 InvalidParamsErrorKind::InvalidValue { message } => write!(f, "invalid value for field: `{}` - {}", self.field, message),
1858 }
1859 }
1860}
1861
1862impl std::error::Error for InvalidParams {}
1863
1864mod internals;