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("a b".to_string())
14 .use_fips(false)
15 .use_dual_stack(false)
16 .accelerate(false)
17 .build()
18 .expect("invalid params");
19 let resolver = crate::config::endpoint::DefaultResolver::new();
20 let endpoint = resolver.resolve_endpoint(¶ms);
21 let error = endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [region is not a valid DNS-suffix]");
22 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
23 }
24
25 #[test]
27 fn test_2() {
28 let params = crate::config::endpoint::Params::builder()
29 .region("us-east-1".to_string())
30 .use_fips(false)
31 .use_dual_stack(false)
32 .accelerate(false)
33 .bucket("arn:aws:not-s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
34 .build()
35 .expect("invalid params");
36 let resolver = crate::config::endpoint::DefaultResolver::new();
37 let endpoint = resolver.resolve_endpoint(¶ms);
38 let error =
39 endpoint.expect_err("expected error: Invalid ARN: The ARN was not for the S3 service, found: not-s3 [Invalid access point ARN: Not S3]");
40 assert_eq!(format!("{}", error), "Invalid ARN: The ARN was not for the S3 service, found: not-s3")
41 }
42
43 #[test]
45 fn test_3() {
46 let params = crate::config::endpoint::Params::builder()
47 .region("us-east-1".to_string())
48 .use_fips(false)
49 .use_dual_stack(false)
50 .accelerate(false)
51 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint:more-data".to_string())
52 .build()
53 .expect("invalid params");
54 let resolver = crate::config::endpoint::DefaultResolver::new();
55 let endpoint = resolver.resolve_endpoint(¶ms);
56 let error = endpoint.expect_err("expected error: Invalid ARN: The ARN may only contain a single resource component after `accesspoint`. [Invalid access point ARN: invalid resource]");
57 assert_eq!(
58 format!("{}", error),
59 "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."
60 )
61 }
62
63 #[test]
65 fn test_4() {
66 let params = crate::config::endpoint::Params::builder()
67 .region("us-east-1".to_string())
68 .use_fips(false)
69 .use_dual_stack(false)
70 .accelerate(false)
71 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:".to_string())
72 .build()
73 .expect("invalid params");
74 let resolver = crate::config::endpoint::DefaultResolver::new();
75 let endpoint = resolver.resolve_endpoint(¶ms);
76 let error = endpoint.expect_err("expected error: Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided [Invalid access point ARN: invalid no ap name]");
77 assert_eq!(
78 format!("{}", error),
79 "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided"
80 )
81 }
82
83 #[test]
85 fn test_5() {
86 let params = crate::config::endpoint::Params::builder()
87 .region("us-east-1".to_string())
88 .use_fips(false)
89 .use_dual_stack(false)
90 .accelerate(false)
91 .bucket("arn:aws:s3:us-west-2:123456_789012:accesspoint:apname".to_string())
92 .build()
93 .expect("invalid params");
94 let resolver = crate::config::endpoint::DefaultResolver::new();
95 let endpoint = resolver.resolve_endpoint(¶ms);
96 let error = endpoint.expect_err("expected error: Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123456_789012` [Invalid access point ARN: AccountId is invalid]");
97 assert_eq!(
98 format!("{}", error),
99 "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123456_789012`"
100 )
101 }
102
103 #[test]
105 fn test_6() {
106 let params = crate::config::endpoint::Params::builder()
107 .region("us-east-1".to_string())
108 .use_fips(false)
109 .use_dual_stack(false)
110 .accelerate(false)
111 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:ap_name".to_string())
112 .build()
113 .expect("invalid params");
114 let resolver = crate::config::endpoint::DefaultResolver::new();
115 let endpoint = resolver.resolve_endpoint(¶ms);
116 let error = endpoint.expect_err("expected error: Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `ap_name` [Invalid access point ARN: access point name is invalid]");
117 assert_eq!(
118 format!("{}", error),
119 "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `ap_name`"
120 )
121 }
122
123 #[test]
125 fn test_7() {
126 let params = crate::config::endpoint::Params::builder()
127 .region("us-east-1".to_string())
128 .use_fips(false)
129 .use_dual_stack(false)
130 .accelerate(false)
131 .disable_access_points(false)
132 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
133 .build()
134 .expect("invalid params");
135 let resolver = crate::config::endpoint::DefaultResolver::new();
136 let endpoint = resolver.resolve_endpoint(¶ms);
137 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
138 assert_eq!(
139 endpoint,
140 ::aws_smithy_types::endpoint::Endpoint::builder()
141 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
142 .property(
143 "authSchemes",
144 vec![::aws_smithy_types::Document::from({
145 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
146 out.insert("name".to_string(), "sigv4".to_string().into());
147 out.insert("signingName".to_string(), "s3".to_string().into());
148 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
149 out.insert("disableDoubleEncoding".to_string(), true.into());
150 out
151 })]
152 )
153 .build()
154 );
155 }
156
157 #[test]
159 fn test_8() {
160 let params = crate::config::endpoint::Params::builder()
161 .region("cn-north-1".to_string())
162 .use_fips(true)
163 .use_dual_stack(false)
164 .accelerate(false)
165 .bucket("arn:aws:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
166 .build()
167 .expect("invalid params");
168 let resolver = crate::config::endpoint::DefaultResolver::new();
169 let endpoint = resolver.resolve_endpoint(¶ms);
170 let error = endpoint.expect_err("expected error: Partition does not support FIPS [Access points: partition does not support FIPS]");
171 assert_eq!(format!("{}", error), "Partition does not support FIPS")
172 }
173
174 #[test]
176 fn test_9() {
177 let params = crate::config::endpoint::Params::builder()
178 .region("us-east-1".to_string())
179 .use_fips(false)
180 .use_dual_stack(false)
181 .accelerate(false)
182 .disable_access_points(false)
183 .bucket("arn:aws:s3:us-west -2:123456789012:accesspoint:myendpoint".to_string())
184 .build()
185 .expect("invalid params");
186 let resolver = crate::config::endpoint::DefaultResolver::new();
187 let endpoint = resolver.resolve_endpoint(¶ms);
188 let error = endpoint.expect_err("expected error: Invalid region in ARN: `us-west -2` (invalid DNS name) [Bucket region is invalid]");
189 assert_eq!(format!("{}", error), "Invalid region in ARN: `us-west -2` (invalid DNS name)")
190 }
191
192 #[test]
194 fn test_10() {
195 let params = crate::config::endpoint::Params::builder()
196 .region("us-east-1".to_string())
197 .use_fips(false)
198 .use_dual_stack(false)
199 .accelerate(false)
200 .disable_access_points(true)
201 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
202 .build()
203 .expect("invalid params");
204 let resolver = crate::config::endpoint::DefaultResolver::new();
205 let endpoint = resolver.resolve_endpoint(¶ms);
206 let error = endpoint.expect_err("expected error: Access points are not supported for this operation [Access points when Access points explicitly disabled (used for CreateBucket)]");
207 assert_eq!(format!("{}", error), "Access points are not supported for this operation")
208 }
209
210 #[test]
212 fn test_11() {
213 let params = crate::config::endpoint::Params::builder()
214 .region("us-east-1".to_string())
215 .use_fips(false)
216 .use_dual_stack(false)
217 .accelerate(false)
218 .disable_access_points(true)
219 .bucket("arn:aws:s3:us-west-2:123456789012:".to_string())
220 .build()
221 .expect("invalid params");
222 let resolver = crate::config::endpoint::DefaultResolver::new();
223 let endpoint = resolver.resolve_endpoint(¶ms);
224 let error = endpoint.expect_err("expected error: Invalid ARN: `arn:aws:s3:us-west-2:123456789012:` was not a valid ARN [missing arn type]");
225 assert_eq!(
226 format!("{}", error),
227 "Invalid ARN: `arn:aws:s3:us-west-2:123456789012:` was not a valid ARN"
228 )
229 }
230
231 #[test]
233 fn test_12() {
234 let params = crate::config::endpoint::Params::builder()
235 .accelerate(false)
236 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
237 .force_path_style(false)
238 .endpoint("https://beta.example.com".to_string())
239 .region("cn-north-1".to_string())
240 .use_dual_stack(true)
241 .use_fips(false)
242 .build()
243 .expect("invalid params");
244 let resolver = crate::config::endpoint::DefaultResolver::new();
245 let endpoint = resolver.resolve_endpoint(¶ms);
246 let error = endpoint.expect_err(
247 "expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + access point + Dualstack is an error]",
248 );
249 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
250 }
251
252 #[test]
254 fn test_13() {
255 let params = crate::config::endpoint::Params::builder()
256 .region("us-east-1".to_string())
257 .use_fips(true)
258 .use_dual_stack(true)
259 .accelerate(false)
260 .disable_access_points(false)
261 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
262 .build()
263 .expect("invalid params");
264 let resolver = crate::config::endpoint::DefaultResolver::new();
265 let endpoint = resolver.resolve_endpoint(¶ms);
266 let endpoint =
267 endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
268 assert_eq!(
269 endpoint,
270 ::aws_smithy_types::endpoint::Endpoint::builder()
271 .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
272 .property(
273 "authSchemes",
274 vec![::aws_smithy_types::Document::from({
275 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
276 out.insert("name".to_string(), "sigv4".to_string().into());
277 out.insert("signingName".to_string(), "s3".to_string().into());
278 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
279 out.insert("disableDoubleEncoding".to_string(), true.into());
280 out
281 })]
282 )
283 .build()
284 );
285 }
286
287 #[test]
289 fn test_14() {
290 let params = crate::config::endpoint::Params::builder()
291 .region("us-east-1".to_string())
292 .use_fips(false)
293 .use_dual_stack(true)
294 .accelerate(false)
295 .disable_access_points(false)
296 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
297 .build()
298 .expect("invalid params");
299 let resolver = crate::config::endpoint::DefaultResolver::new();
300 let endpoint = resolver.resolve_endpoint(¶ms);
301 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com");
302 assert_eq!(
303 endpoint,
304 ::aws_smithy_types::endpoint::Endpoint::builder()
305 .url("https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com")
306 .property(
307 "authSchemes",
308 vec![::aws_smithy_types::Document::from({
309 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
310 out.insert("name".to_string(), "sigv4".to_string().into());
311 out.insert("signingName".to_string(), "s3".to_string().into());
312 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
313 out.insert("disableDoubleEncoding".to_string(), true.into());
314 out
315 })]
316 )
317 .build()
318 );
319 }
320
321 #[test]
323 fn test_15() {
324 let params = crate::config::endpoint::Params::builder()
325 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
326 .region("us-east-1".to_string())
327 .disable_multi_region_access_points(false)
328 .use_fips(false)
329 .use_dual_stack(false)
330 .accelerate(false)
331 .build()
332 .expect("invalid params");
333 let resolver = crate::config::endpoint::DefaultResolver::new();
334 let endpoint = resolver.resolve_endpoint(¶ms);
335 let endpoint = endpoint.expect("Expected valid endpoint: https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com");
336 assert_eq!(
337 endpoint,
338 ::aws_smithy_types::endpoint::Endpoint::builder()
339 .url("https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com")
340 .property(
341 "authSchemes",
342 vec![::aws_smithy_types::Document::from({
343 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
344 out.insert("name".to_string(), "sigv4a".to_string().into());
345 out.insert(
346 "signingRegionSet".to_string(),
347 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
348 );
349 out.insert("signingName".to_string(), "s3".to_string().into());
350 out.insert("disableDoubleEncoding".to_string(), true.into());
351 out
352 })]
353 )
354 .build()
355 );
356 }
357
358 #[test]
360 fn test_16() {
361 let params = crate::config::endpoint::Params::builder()
362 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
363 .region("us-east-1".to_string())
364 .disable_multi_region_access_points(false)
365 .use_fips(true)
366 .use_dual_stack(false)
367 .accelerate(false)
368 .build()
369 .expect("invalid params");
370 let resolver = crate::config::endpoint::DefaultResolver::new();
371 let endpoint = resolver.resolve_endpoint(¶ms);
372 let error = endpoint.expect_err("expected error: S3 MRAP does not support FIPS [MRAP does not support FIPS]");
373 assert_eq!(format!("{}", error), "S3 MRAP does not support FIPS")
374 }
375
376 #[test]
378 fn test_17() {
379 let params = crate::config::endpoint::Params::builder()
380 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
381 .region("us-east-1".to_string())
382 .disable_multi_region_access_points(false)
383 .use_fips(false)
384 .use_dual_stack(true)
385 .accelerate(false)
386 .build()
387 .expect("invalid params");
388 let resolver = crate::config::endpoint::DefaultResolver::new();
389 let endpoint = resolver.resolve_endpoint(¶ms);
390 let error = endpoint.expect_err("expected error: S3 MRAP does not support dual-stack [MRAP does not support DualStack]");
391 assert_eq!(format!("{}", error), "S3 MRAP does not support dual-stack")
392 }
393
394 #[test]
396 fn test_18() {
397 let params = crate::config::endpoint::Params::builder()
398 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
399 .region("us-east-1".to_string())
400 .disable_multi_region_access_points(false)
401 .use_fips(false)
402 .use_dual_stack(false)
403 .accelerate(true)
404 .build()
405 .expect("invalid params");
406 let resolver = crate::config::endpoint::DefaultResolver::new();
407 let endpoint = resolver.resolve_endpoint(¶ms);
408 let error = endpoint.expect_err("expected error: S3 MRAP does not support S3 Accelerate [MRAP does not support S3 Accelerate]");
409 assert_eq!(format!("{}", error), "S3 MRAP does not support S3 Accelerate")
410 }
411
412 #[test]
414 fn test_19() {
415 let params = crate::config::endpoint::Params::builder()
416 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
417 .region("us-east-1".to_string())
418 .disable_multi_region_access_points(true)
419 .use_fips(false)
420 .use_dual_stack(false)
421 .accelerate(false)
422 .build()
423 .expect("invalid params");
424 let resolver = crate::config::endpoint::DefaultResolver::new();
425 let endpoint = resolver.resolve_endpoint(¶ms);
426 let error =
427 endpoint.expect_err("expected error: Invalid configuration: Multi-Region Access Point ARNs are disabled. [MRAP explicitly disabled]");
428 assert_eq!(
429 format!("{}", error),
430 "Invalid configuration: Multi-Region Access Point ARNs are disabled."
431 )
432 }
433
434 #[test]
436 fn test_20() {
437 let params = crate::config::endpoint::Params::builder()
438 .bucket("bucketname".to_string())
439 .region("us-west-2".to_string())
440 .force_path_style(true)
441 .use_fips(false)
442 .accelerate(false)
443 .use_dual_stack(true)
444 .build()
445 .expect("invalid params");
446 let resolver = crate::config::endpoint::DefaultResolver::new();
447 let endpoint = resolver.resolve_endpoint(¶ms);
448 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucketname");
449 assert_eq!(
450 endpoint,
451 ::aws_smithy_types::endpoint::Endpoint::builder()
452 .url("https://s3.dualstack.us-west-2.amazonaws.com/bucketname")
453 .property(
454 "authSchemes",
455 vec![::aws_smithy_types::Document::from({
456 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
457 out.insert("name".to_string(), "sigv4".to_string().into());
458 out.insert("signingName".to_string(), "s3".to_string().into());
459 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
460 out.insert("disableDoubleEncoding".to_string(), true.into());
461 out
462 })]
463 )
464 .build()
465 );
466 }
467
468 #[test]
470 fn test_21() {
471 let params = crate::config::endpoint::Params::builder()
472 .bucket("bucketname".to_string())
473 .region("us-west-2".to_string())
474 .force_path_style(true)
475 .use_fips(false)
476 .accelerate(false)
477 .use_dual_stack(true)
478 .endpoint("https://abc.com".to_string())
479 .build()
480 .expect("invalid params");
481 let resolver = crate::config::endpoint::DefaultResolver::new();
482 let endpoint = resolver.resolve_endpoint(¶ms);
483 let error = endpoint
484 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [Dual-stack endpoint + SDK::Host is error]");
485 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
486 }
487
488 #[test]
490 fn test_22() {
491 let params = crate::config::endpoint::Params::builder()
492 .accelerate(false)
493 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
494 .force_path_style(true)
495 .region("us-west-2".to_string())
496 .use_dual_stack(false)
497 .use_fips(false)
498 .build()
499 .expect("invalid params");
500 let resolver = crate::config::endpoint::DefaultResolver::new();
501 let endpoint = resolver.resolve_endpoint(¶ms);
502 let error = endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + ARN bucket]");
503 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
504 }
505
506 #[test]
508 fn test_23() {
509 let params = crate::config::endpoint::Params::builder()
510 .accelerate(false)
511 .bucket("99_ab".to_string())
512 .region("us-west-2".to_string())
513 .use_dual_stack(true)
514 .use_fips(false)
515 .build()
516 .expect("invalid params");
517 let resolver = crate::config::endpoint::DefaultResolver::new();
518 let endpoint = resolver.resolve_endpoint(¶ms);
519 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/99_ab");
520 assert_eq!(
521 endpoint,
522 ::aws_smithy_types::endpoint::Endpoint::builder()
523 .url("https://s3.dualstack.us-west-2.amazonaws.com/99_ab")
524 .property(
525 "authSchemes",
526 vec![::aws_smithy_types::Document::from({
527 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
528 out.insert("name".to_string(), "sigv4".to_string().into());
529 out.insert("signingName".to_string(), "s3".to_string().into());
530 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
531 out.insert("disableDoubleEncoding".to_string(), true.into());
532 out
533 })]
534 )
535 .build()
536 );
537 }
538
539 #[test]
541 fn test_24() {
542 let params = crate::config::endpoint::Params::builder()
543 .accelerate(false)
544 .bucket("99_ab".to_string())
545 .region("us-west-2".to_string())
546 .use_dual_stack(true)
547 .use_fips(false)
548 .endpoint("http://abc.com".to_string())
549 .build()
550 .expect("invalid params");
551 let resolver = crate::config::endpoint::DefaultResolver::new();
552 let endpoint = resolver.resolve_endpoint(¶ms);
553 let error = endpoint
554 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [implicit path style bucket + dualstack]");
555 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
556 }
557
558 #[test]
560 fn test_25() {
561 let params = crate::config::endpoint::Params::builder()
562 .bucket("example.com#".to_string())
563 .region("us-west-2".to_string())
564 .use_dual_stack(false)
565 .use_fips(false)
566 .accelerate(false)
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://s3.us-west-2.amazonaws.com/example.com%23");
572 assert_eq!(
573 endpoint,
574 ::aws_smithy_types::endpoint::Endpoint::builder()
575 .url("https://s3.us-west-2.amazonaws.com/example.com%23")
576 .property(
577 "authSchemes",
578 vec![::aws_smithy_types::Document::from({
579 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
580 out.insert("name".to_string(), "sigv4".to_string().into());
581 out.insert("signingName".to_string(), "s3".to_string().into());
582 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
583 out.insert("disableDoubleEncoding".to_string(), true.into());
584 out
585 })]
586 )
587 .build()
588 );
589 }
590
591 #[test]
593 fn test_26() {
594 let params = crate::config::endpoint::Params::builder()
595 .bucket("bucket name".to_string())
596 .region("us-west-2".to_string())
597 .use_dual_stack(false)
598 .use_fips(false)
599 .accelerate(false)
600 .build()
601 .expect("invalid params");
602 let resolver = crate::config::endpoint::DefaultResolver::new();
603 let endpoint = resolver.resolve_endpoint(¶ms);
604 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket%20name");
605 assert_eq!(
606 endpoint,
607 ::aws_smithy_types::endpoint::Endpoint::builder()
608 .url("https://s3.us-west-2.amazonaws.com/bucket%20name")
609 .property(
610 "authSchemes",
611 vec![::aws_smithy_types::Document::from({
612 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
613 out.insert("name".to_string(), "sigv4".to_string().into());
614 out.insert("signingName".to_string(), "s3".to_string().into());
615 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
616 out.insert("disableDoubleEncoding".to_string(), true.into());
617 out
618 })]
619 )
620 .build()
621 );
622 }
623
624 #[test]
626 fn test_27() {
627 let params = crate::config::endpoint::Params::builder()
628 .accelerate(false)
629 .bucket("99_ab".to_string())
630 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
631 .region("af-south-1".to_string())
632 .use_dual_stack(false)
633 .use_fips(false)
634 .build()
635 .expect("invalid params");
636 let resolver = crate::config::endpoint::DefaultResolver::new();
637 let endpoint = resolver.resolve_endpoint(¶ms);
638 let endpoint = endpoint.expect("Expected valid endpoint: http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
639 assert_eq!(
640 endpoint,
641 ::aws_smithy_types::endpoint::Endpoint::builder()
642 .url("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
643 .property(
644 "authSchemes",
645 vec![::aws_smithy_types::Document::from({
646 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
647 out.insert("name".to_string(), "sigv4".to_string().into());
648 out.insert("signingName".to_string(), "s3".to_string().into());
649 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
650 out.insert("disableDoubleEncoding".to_string(), true.into());
651 out
652 })]
653 )
654 .build()
655 );
656 }
657
658 #[test]
660 fn test_28() {
661 let params = crate::config::endpoint::Params::builder()
662 .accelerate(false)
663 .bucket("bucketname".to_string())
664 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo".to_string())
665 .region("af-south-1".to_string())
666 .use_dual_stack(false)
667 .use_fips(false)
668 .build()
669 .expect("invalid params");
670 let resolver = crate::config::endpoint::DefaultResolver::new();
671 let endpoint = resolver.resolve_endpoint(¶ms);
672 let endpoint = endpoint.expect("Expected valid endpoint: http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo");
673 assert_eq!(
674 endpoint,
675 ::aws_smithy_types::endpoint::Endpoint::builder()
676 .url("http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo")
677 .property(
678 "authSchemes",
679 vec![::aws_smithy_types::Document::from({
680 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
681 out.insert("name".to_string(), "sigv4".to_string().into());
682 out.insert("signingName".to_string(), "s3".to_string().into());
683 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
684 out.insert("disableDoubleEncoding".to_string(), true.into());
685 out
686 })]
687 )
688 .build()
689 );
690 }
691
692 #[test]
694 fn test_29() {
695 let params = crate::config::endpoint::Params::builder()
696 .accelerate(false)
697 .bucket("99_ab".to_string())
698 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
699 .region("af-south-1".to_string())
700 .use_dual_stack(false)
701 .use_fips(false)
702 .build()
703 .expect("invalid params");
704 let resolver = crate::config::endpoint::DefaultResolver::new();
705 let endpoint = resolver.resolve_endpoint(¶ms);
706 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
707 assert_eq!(
708 endpoint,
709 ::aws_smithy_types::endpoint::Endpoint::builder()
710 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
711 .property(
712 "authSchemes",
713 vec![::aws_smithy_types::Document::from({
714 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
715 out.insert("name".to_string(), "sigv4".to_string().into());
716 out.insert("signingName".to_string(), "s3".to_string().into());
717 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
718 out.insert("disableDoubleEncoding".to_string(), true.into());
719 out
720 })]
721 )
722 .build()
723 );
724 }
725
726 #[test]
728 fn test_30() {
729 let params = crate::config::endpoint::Params::builder()
730 .accelerate(false)
731 .bucket("bucketname".to_string())
732 .endpoint("abcde://nota#url".to_string())
733 .region("af-south-1".to_string())
734 .use_dual_stack(false)
735 .use_fips(false)
736 .build()
737 .expect("invalid params");
738 let resolver = crate::config::endpoint::DefaultResolver::new();
739 let endpoint = resolver.resolve_endpoint(¶ms);
740 let error = endpoint.expect_err("expected error: Custom endpoint `abcde://nota#url` was not a valid URI [invalid Endpoint override]");
741 assert_eq!(format!("{}", error), "Custom endpoint `abcde://nota#url` was not a valid URI")
742 }
743
744 #[test]
746 fn test_31() {
747 let params = crate::config::endpoint::Params::builder()
748 .accelerate(false)
749 .bucket("bucketname".to_string())
750 .endpoint("https://123.123.0.1".to_string())
751 .region("af-south-1".to_string())
752 .use_dual_stack(false)
753 .use_fips(false)
754 .build()
755 .expect("invalid params");
756 let resolver = crate::config::endpoint::DefaultResolver::new();
757 let endpoint = resolver.resolve_endpoint(¶ms);
758 let endpoint = endpoint.expect("Expected valid endpoint: https://123.123.0.1/bucketname");
759 assert_eq!(
760 endpoint,
761 ::aws_smithy_types::endpoint::Endpoint::builder()
762 .url("https://123.123.0.1/bucketname")
763 .property(
764 "authSchemes",
765 vec![::aws_smithy_types::Document::from({
766 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
767 out.insert("name".to_string(), "sigv4".to_string().into());
768 out.insert("signingName".to_string(), "s3".to_string().into());
769 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
770 out.insert("disableDoubleEncoding".to_string(), true.into());
771 out
772 })]
773 )
774 .build()
775 );
776 }
777
778 #[test]
780 fn test_32() {
781 let params = crate::config::endpoint::Params::builder()
782 .accelerate(false)
783 .bucket("arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint".to_string())
784 .force_path_style(false)
785 .use_arn_region(false)
786 .region("us-west-2".to_string())
787 .use_dual_stack(false)
788 .use_fips(false)
789 .build()
790 .expect("invalid params");
791 let resolver = crate::config::endpoint::DefaultResolver::new();
792 let endpoint = resolver.resolve_endpoint(¶ms);
793 let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false` [vanilla access point arn with region mismatch and UseArnRegion=false]");
794 assert_eq!(
795 format!("{}", error),
796 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
797 )
798 }
799
800 #[test]
802 fn test_33() {
803 let params = crate::config::endpoint::Params::builder()
804 .accelerate(false)
805 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
806 .force_path_style(false)
807 .region("us-east-1".to_string())
808 .use_dual_stack(false)
809 .use_fips(false)
810 .build()
811 .expect("invalid params");
812 let resolver = crate::config::endpoint::DefaultResolver::new();
813 let endpoint = resolver.resolve_endpoint(¶ms);
814 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
815 assert_eq!(
816 endpoint,
817 ::aws_smithy_types::endpoint::Endpoint::builder()
818 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
819 .property(
820 "authSchemes",
821 vec![::aws_smithy_types::Document::from({
822 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
823 out.insert("name".to_string(), "sigv4".to_string().into());
824 out.insert("signingName".to_string(), "s3".to_string().into());
825 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
826 out.insert("disableDoubleEncoding".to_string(), true.into());
827 out
828 })]
829 )
830 .build()
831 );
832 }
833
834 #[test]
836 fn test_34() {
837 let params = crate::config::endpoint::Params::builder()
838 .accelerate(false)
839 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
840 .force_path_style(false)
841 .use_arn_region(true)
842 .region("us-east-1".to_string())
843 .use_dual_stack(false)
844 .use_fips(false)
845 .build()
846 .expect("invalid params");
847 let resolver = crate::config::endpoint::DefaultResolver::new();
848 let endpoint = resolver.resolve_endpoint(¶ms);
849 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
850 assert_eq!(
851 endpoint,
852 ::aws_smithy_types::endpoint::Endpoint::builder()
853 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
854 .property(
855 "authSchemes",
856 vec![::aws_smithy_types::Document::from({
857 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
858 out.insert("name".to_string(), "sigv4".to_string().into());
859 out.insert("signingName".to_string(), "s3".to_string().into());
860 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
861 out.insert("disableDoubleEncoding".to_string(), true.into());
862 out
863 })]
864 )
865 .build()
866 );
867 }
868
869 #[test]
871 fn test_35() {
872 let params = crate::config::endpoint::Params::builder()
873 .bucket("bucket.name".to_string())
874 .region("us-east-1".to_string())
875 .build()
876 .expect("invalid params");
877 let resolver = crate::config::endpoint::DefaultResolver::new();
878 let endpoint = resolver.resolve_endpoint(¶ms);
879 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/bucket.name");
880 assert_eq!(
881 endpoint,
882 ::aws_smithy_types::endpoint::Endpoint::builder()
883 .url("https://s3.us-east-1.amazonaws.com/bucket.name")
884 .property(
885 "authSchemes",
886 vec![::aws_smithy_types::Document::from({
887 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
888 out.insert("name".to_string(), "sigv4".to_string().into());
889 out.insert("signingName".to_string(), "s3".to_string().into());
890 out.insert("disableDoubleEncoding".to_string(), true.into());
891 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
892 out
893 })]
894 )
895 .build()
896 );
897 }
898
899 #[test]
901 fn test_36() {
902 let params = crate::config::endpoint::Params::builder()
903 .bucket("aaa".to_string())
904 .region("us-east-1".to_string())
905 .build()
906 .expect("invalid params");
907 let resolver = crate::config::endpoint::DefaultResolver::new();
908 let endpoint = resolver.resolve_endpoint(¶ms);
909 let endpoint = endpoint.expect("Expected valid endpoint: https://aaa.s3.us-east-1.amazonaws.com");
910 assert_eq!(
911 endpoint,
912 ::aws_smithy_types::endpoint::Endpoint::builder()
913 .url("https://aaa.s3.us-east-1.amazonaws.com")
914 .property(
915 "authSchemes",
916 vec![::aws_smithy_types::Document::from({
917 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
918 out.insert("name".to_string(), "sigv4".to_string().into());
919 out.insert("signingName".to_string(), "s3".to_string().into());
920 out.insert("disableDoubleEncoding".to_string(), true.into());
921 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
922 out
923 })]
924 )
925 .build()
926 );
927 }
928
929 #[test]
931 fn test_37() {
932 let params = crate::config::endpoint::Params::builder()
933 .bucket("aa".to_string())
934 .region("us-east-1".to_string())
935 .build()
936 .expect("invalid params");
937 let resolver = crate::config::endpoint::DefaultResolver::new();
938 let endpoint = resolver.resolve_endpoint(¶ms);
939 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/aa");
940 assert_eq!(
941 endpoint,
942 ::aws_smithy_types::endpoint::Endpoint::builder()
943 .url("https://s3.us-east-1.amazonaws.com/aa")
944 .property(
945 "authSchemes",
946 vec![::aws_smithy_types::Document::from({
947 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
948 out.insert("name".to_string(), "sigv4".to_string().into());
949 out.insert("signingName".to_string(), "s3".to_string().into());
950 out.insert("disableDoubleEncoding".to_string(), true.into());
951 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
952 out
953 })]
954 )
955 .build()
956 );
957 }
958
959 #[test]
961 fn test_38() {
962 let params = crate::config::endpoint::Params::builder()
963 .bucket("BucketName".to_string())
964 .region("us-east-1".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 endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/BucketName");
970 assert_eq!(
971 endpoint,
972 ::aws_smithy_types::endpoint::Endpoint::builder()
973 .url("https://s3.us-east-1.amazonaws.com/BucketName")
974 .property(
975 "authSchemes",
976 vec![::aws_smithy_types::Document::from({
977 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
978 out.insert("name".to_string(), "sigv4".to_string().into());
979 out.insert("signingName".to_string(), "s3".to_string().into());
980 out.insert("disableDoubleEncoding".to_string(), true.into());
981 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
982 out
983 })]
984 )
985 .build()
986 );
987 }
988
989 #[test]
991 fn test_39() {
992 let params = crate::config::endpoint::Params::builder()
993 .bucket("bucket.name".to_string())
994 .region("us-east-1".to_string())
995 .endpoint("http://example.com".to_string())
996 .build()
997 .expect("invalid params");
998 let resolver = crate::config::endpoint::DefaultResolver::new();
999 let endpoint = resolver.resolve_endpoint(¶ms);
1000 let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.name.example.com");
1001 assert_eq!(
1002 endpoint,
1003 ::aws_smithy_types::endpoint::Endpoint::builder()
1004 .url("http://bucket.name.example.com")
1005 .property(
1006 "authSchemes",
1007 vec![::aws_smithy_types::Document::from({
1008 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1009 out.insert("name".to_string(), "sigv4".to_string().into());
1010 out.insert("signingName".to_string(), "s3".to_string().into());
1011 out.insert("disableDoubleEncoding".to_string(), true.into());
1012 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1013 out
1014 })]
1015 )
1016 .build()
1017 );
1018 }
1019
1020 #[test]
1022 fn test_40() {
1023 let params = crate::config::endpoint::Params::builder()
1024 .bucket("bucket-name".to_string())
1025 .build()
1026 .expect("invalid params");
1027 let resolver = crate::config::endpoint::DefaultResolver::new();
1028 let endpoint = resolver.resolve_endpoint(¶ms);
1029 let error = endpoint.expect_err("expected error: A region must be set when sending requests to S3. [no region set]");
1030 assert_eq!(format!("{}", error), "A region must be set when sending requests to S3.")
1031 }
1032
1033 #[test]
1035 fn test_41() {
1036 let params = crate::config::endpoint::Params::builder()
1037 .region("us-east-1".to_string())
1038 .use_global_endpoint(true)
1039 .use_fips(false)
1040 .use_dual_stack(false)
1041 .accelerate(false)
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://s3.amazonaws.com");
1047 assert_eq!(
1048 endpoint,
1049 ::aws_smithy_types::endpoint::Endpoint::builder()
1050 .url("https://s3.amazonaws.com")
1051 .property(
1052 "authSchemes",
1053 vec![::aws_smithy_types::Document::from({
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(), "s3".to_string().into());
1057 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1058 out.insert("disableDoubleEncoding".to_string(), true.into());
1059 out
1060 })]
1061 )
1062 .build()
1063 );
1064 }
1065
1066 #[test]
1068 fn test_42() {
1069 let params = crate::config::endpoint::Params::builder()
1070 .region("us-west-2".to_string())
1071 .use_global_endpoint(true)
1072 .use_fips(false)
1073 .use_dual_stack(false)
1074 .accelerate(false)
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://s3.us-west-2.amazonaws.com");
1080 assert_eq!(
1081 endpoint,
1082 ::aws_smithy_types::endpoint::Endpoint::builder()
1083 .url("https://s3.us-west-2.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(), "s3".to_string().into());
1090 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
1091 out.insert("disableDoubleEncoding".to_string(), true.into());
1092 out
1093 })]
1094 )
1095 .build()
1096 );
1097 }
1098
1099 #[test]
1101 fn test_43() {
1102 let params = crate::config::endpoint::Params::builder()
1103 .region("cn-north-1".to_string())
1104 .use_global_endpoint(true)
1105 .use_fips(false)
1106 .use_dual_stack(false)
1107 .accelerate(false)
1108 .build()
1109 .expect("invalid params");
1110 let resolver = crate::config::endpoint::DefaultResolver::new();
1111 let endpoint = resolver.resolve_endpoint(¶ms);
1112 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn");
1113 assert_eq!(
1114 endpoint,
1115 ::aws_smithy_types::endpoint::Endpoint::builder()
1116 .url("https://s3.cn-north-1.amazonaws.com.cn")
1117 .property(
1118 "authSchemes",
1119 vec![::aws_smithy_types::Document::from({
1120 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1121 out.insert("name".to_string(), "sigv4".to_string().into());
1122 out.insert("signingName".to_string(), "s3".to_string().into());
1123 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
1124 out.insert("disableDoubleEncoding".to_string(), true.into());
1125 out
1126 })]
1127 )
1128 .build()
1129 );
1130 }
1131
1132 #[test]
1134 fn test_44() {
1135 let params = crate::config::endpoint::Params::builder()
1136 .region("us-east-1".to_string())
1137 .use_global_endpoint(true)
1138 .use_fips(true)
1139 .use_dual_stack(false)
1140 .accelerate(false)
1141 .build()
1142 .expect("invalid params");
1143 let resolver = crate::config::endpoint::DefaultResolver::new();
1144 let endpoint = resolver.resolve_endpoint(¶ms);
1145 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
1146 assert_eq!(
1147 endpoint,
1148 ::aws_smithy_types::endpoint::Endpoint::builder()
1149 .url("https://s3-fips.us-east-1.amazonaws.com")
1150 .property(
1151 "authSchemes",
1152 vec![::aws_smithy_types::Document::from({
1153 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1154 out.insert("name".to_string(), "sigv4".to_string().into());
1155 out.insert("signingName".to_string(), "s3".to_string().into());
1156 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1157 out.insert("disableDoubleEncoding".to_string(), true.into());
1158 out
1159 })]
1160 )
1161 .build()
1162 );
1163 }
1164
1165 #[test]
1167 fn test_45() {
1168 let params = crate::config::endpoint::Params::builder()
1169 .region("us-east-1".to_string())
1170 .use_global_endpoint(true)
1171 .use_fips(false)
1172 .use_dual_stack(true)
1173 .accelerate(false)
1174 .build()
1175 .expect("invalid params");
1176 let resolver = crate::config::endpoint::DefaultResolver::new();
1177 let endpoint = resolver.resolve_endpoint(¶ms);
1178 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
1179 assert_eq!(
1180 endpoint,
1181 ::aws_smithy_types::endpoint::Endpoint::builder()
1182 .url("https://s3.dualstack.us-east-1.amazonaws.com")
1183 .property(
1184 "authSchemes",
1185 vec![::aws_smithy_types::Document::from({
1186 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1187 out.insert("name".to_string(), "sigv4".to_string().into());
1188 out.insert("signingName".to_string(), "s3".to_string().into());
1189 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1190 out.insert("disableDoubleEncoding".to_string(), true.into());
1191 out
1192 })]
1193 )
1194 .build()
1195 );
1196 }
1197
1198 #[test]
1200 fn test_46() {
1201 let params = crate::config::endpoint::Params::builder()
1202 .region("us-east-1".to_string())
1203 .use_global_endpoint(true)
1204 .use_fips(true)
1205 .use_dual_stack(true)
1206 .accelerate(false)
1207 .build()
1208 .expect("invalid params");
1209 let resolver = crate::config::endpoint::DefaultResolver::new();
1210 let endpoint = resolver.resolve_endpoint(¶ms);
1211 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
1212 assert_eq!(
1213 endpoint,
1214 ::aws_smithy_types::endpoint::Endpoint::builder()
1215 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
1216 .property(
1217 "authSchemes",
1218 vec![::aws_smithy_types::Document::from({
1219 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1220 out.insert("name".to_string(), "sigv4".to_string().into());
1221 out.insert("signingName".to_string(), "s3".to_string().into());
1222 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1223 out.insert("disableDoubleEncoding".to_string(), true.into());
1224 out
1225 })]
1226 )
1227 .build()
1228 );
1229 }
1230
1231 #[test]
1233 fn test_47() {
1234 let params = crate::config::endpoint::Params::builder()
1235 .region("us-east-1".to_string())
1236 .endpoint("https://example.com".to_string())
1237 .use_global_endpoint(true)
1238 .use_fips(false)
1239 .use_dual_stack(false)
1240 .accelerate(false)
1241 .build()
1242 .expect("invalid params");
1243 let resolver = crate::config::endpoint::DefaultResolver::new();
1244 let endpoint = resolver.resolve_endpoint(¶ms);
1245 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1246 assert_eq!(
1247 endpoint,
1248 ::aws_smithy_types::endpoint::Endpoint::builder()
1249 .url("https://example.com")
1250 .property(
1251 "authSchemes",
1252 vec![::aws_smithy_types::Document::from({
1253 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1254 out.insert("name".to_string(), "sigv4".to_string().into());
1255 out.insert("signingName".to_string(), "s3".to_string().into());
1256 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1257 out.insert("disableDoubleEncoding".to_string(), true.into());
1258 out
1259 })]
1260 )
1261 .build()
1262 );
1263 }
1264
1265 #[test]
1267 fn test_48() {
1268 let params = crate::config::endpoint::Params::builder()
1269 .region("us-west-2".to_string())
1270 .endpoint("https://example.com".to_string())
1271 .use_global_endpoint(true)
1272 .use_fips(false)
1273 .use_dual_stack(false)
1274 .accelerate(false)
1275 .build()
1276 .expect("invalid params");
1277 let resolver = crate::config::endpoint::DefaultResolver::new();
1278 let endpoint = resolver.resolve_endpoint(¶ms);
1279 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1280 assert_eq!(
1281 endpoint,
1282 ::aws_smithy_types::endpoint::Endpoint::builder()
1283 .url("https://example.com")
1284 .property(
1285 "authSchemes",
1286 vec![::aws_smithy_types::Document::from({
1287 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1288 out.insert("name".to_string(), "sigv4".to_string().into());
1289 out.insert("signingName".to_string(), "s3".to_string().into());
1290 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
1291 out.insert("disableDoubleEncoding".to_string(), true.into());
1292 out
1293 })]
1294 )
1295 .build()
1296 );
1297 }
1298
1299 #[test]
1301 fn test_49() {
1302 let params = crate::config::endpoint::Params::builder()
1303 .region("us-east-1".to_string())
1304 .use_global_endpoint(true)
1305 .use_fips(false)
1306 .use_dual_stack(false)
1307 .accelerate(true)
1308 .build()
1309 .expect("invalid params");
1310 let resolver = crate::config::endpoint::DefaultResolver::new();
1311 let endpoint = resolver.resolve_endpoint(¶ms);
1312 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1313 assert_eq!(
1314 endpoint,
1315 ::aws_smithy_types::endpoint::Endpoint::builder()
1316 .url("https://s3.amazonaws.com")
1317 .property(
1318 "authSchemes",
1319 vec![::aws_smithy_types::Document::from({
1320 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1321 out.insert("name".to_string(), "sigv4".to_string().into());
1322 out.insert("signingName".to_string(), "s3".to_string().into());
1323 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1324 out.insert("disableDoubleEncoding".to_string(), true.into());
1325 out
1326 })]
1327 )
1328 .build()
1329 );
1330 }
1331
1332 #[test]
1334 fn test_50() {
1335 let params = crate::config::endpoint::Params::builder()
1336 .region("aws-global".to_string())
1337 .use_fips(false)
1338 .use_dual_stack(false)
1339 .accelerate(false)
1340 .build()
1341 .expect("invalid params");
1342 let resolver = crate::config::endpoint::DefaultResolver::new();
1343 let endpoint = resolver.resolve_endpoint(¶ms);
1344 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1345 assert_eq!(
1346 endpoint,
1347 ::aws_smithy_types::endpoint::Endpoint::builder()
1348 .url("https://s3.amazonaws.com")
1349 .property(
1350 "authSchemes",
1351 vec![::aws_smithy_types::Document::from({
1352 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1353 out.insert("name".to_string(), "sigv4".to_string().into());
1354 out.insert("signingName".to_string(), "s3".to_string().into());
1355 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1356 out.insert("disableDoubleEncoding".to_string(), true.into());
1357 out
1358 })]
1359 )
1360 .build()
1361 );
1362 }
1363
1364 #[test]
1366 fn test_51() {
1367 let params = crate::config::endpoint::Params::builder()
1368 .region("aws-global".to_string())
1369 .use_fips(true)
1370 .use_dual_stack(false)
1371 .accelerate(false)
1372 .build()
1373 .expect("invalid params");
1374 let resolver = crate::config::endpoint::DefaultResolver::new();
1375 let endpoint = resolver.resolve_endpoint(¶ms);
1376 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
1377 assert_eq!(
1378 endpoint,
1379 ::aws_smithy_types::endpoint::Endpoint::builder()
1380 .url("https://s3-fips.us-east-1.amazonaws.com")
1381 .property(
1382 "authSchemes",
1383 vec![::aws_smithy_types::Document::from({
1384 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1385 out.insert("name".to_string(), "sigv4".to_string().into());
1386 out.insert("signingName".to_string(), "s3".to_string().into());
1387 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1388 out.insert("disableDoubleEncoding".to_string(), true.into());
1389 out
1390 })]
1391 )
1392 .build()
1393 );
1394 }
1395
1396 #[test]
1398 fn test_52() {
1399 let params = crate::config::endpoint::Params::builder()
1400 .region("aws-global".to_string())
1401 .use_fips(false)
1402 .use_dual_stack(true)
1403 .accelerate(false)
1404 .build()
1405 .expect("invalid params");
1406 let resolver = crate::config::endpoint::DefaultResolver::new();
1407 let endpoint = resolver.resolve_endpoint(¶ms);
1408 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
1409 assert_eq!(
1410 endpoint,
1411 ::aws_smithy_types::endpoint::Endpoint::builder()
1412 .url("https://s3.dualstack.us-east-1.amazonaws.com")
1413 .property(
1414 "authSchemes",
1415 vec![::aws_smithy_types::Document::from({
1416 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1417 out.insert("name".to_string(), "sigv4".to_string().into());
1418 out.insert("signingName".to_string(), "s3".to_string().into());
1419 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1420 out.insert("disableDoubleEncoding".to_string(), true.into());
1421 out
1422 })]
1423 )
1424 .build()
1425 );
1426 }
1427
1428 #[test]
1430 fn test_53() {
1431 let params = crate::config::endpoint::Params::builder()
1432 .region("aws-global".to_string())
1433 .use_fips(true)
1434 .use_dual_stack(true)
1435 .accelerate(false)
1436 .build()
1437 .expect("invalid params");
1438 let resolver = crate::config::endpoint::DefaultResolver::new();
1439 let endpoint = resolver.resolve_endpoint(¶ms);
1440 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
1441 assert_eq!(
1442 endpoint,
1443 ::aws_smithy_types::endpoint::Endpoint::builder()
1444 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
1445 .property(
1446 "authSchemes",
1447 vec![::aws_smithy_types::Document::from({
1448 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1449 out.insert("name".to_string(), "sigv4".to_string().into());
1450 out.insert("signingName".to_string(), "s3".to_string().into());
1451 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1452 out.insert("disableDoubleEncoding".to_string(), true.into());
1453 out
1454 })]
1455 )
1456 .build()
1457 );
1458 }
1459
1460 #[test]
1462 fn test_54() {
1463 let params = crate::config::endpoint::Params::builder()
1464 .region("aws-global".to_string())
1465 .use_fips(false)
1466 .use_dual_stack(false)
1467 .accelerate(true)
1468 .build()
1469 .expect("invalid params");
1470 let resolver = crate::config::endpoint::DefaultResolver::new();
1471 let endpoint = resolver.resolve_endpoint(¶ms);
1472 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1473 assert_eq!(
1474 endpoint,
1475 ::aws_smithy_types::endpoint::Endpoint::builder()
1476 .url("https://s3.amazonaws.com")
1477 .property(
1478 "authSchemes",
1479 vec![::aws_smithy_types::Document::from({
1480 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1481 out.insert("name".to_string(), "sigv4".to_string().into());
1482 out.insert("signingName".to_string(), "s3".to_string().into());
1483 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1484 out.insert("disableDoubleEncoding".to_string(), true.into());
1485 out
1486 })]
1487 )
1488 .build()
1489 );
1490 }
1491
1492 #[test]
1494 fn test_55() {
1495 let params = crate::config::endpoint::Params::builder()
1496 .region("aws-global".to_string())
1497 .endpoint("https://example.com".to_string())
1498 .use_global_endpoint(false)
1499 .use_fips(false)
1500 .use_dual_stack(false)
1501 .accelerate(false)
1502 .build()
1503 .expect("invalid params");
1504 let resolver = crate::config::endpoint::DefaultResolver::new();
1505 let endpoint = resolver.resolve_endpoint(¶ms);
1506 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1507 assert_eq!(
1508 endpoint,
1509 ::aws_smithy_types::endpoint::Endpoint::builder()
1510 .url("https://example.com")
1511 .property(
1512 "authSchemes",
1513 vec![::aws_smithy_types::Document::from({
1514 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1515 out.insert("name".to_string(), "sigv4".to_string().into());
1516 out.insert("signingName".to_string(), "s3".to_string().into());
1517 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1518 out.insert("disableDoubleEncoding".to_string(), true.into());
1519 out
1520 })]
1521 )
1522 .build()
1523 );
1524 }
1525
1526 #[test]
1528 fn test_56() {
1529 let params = crate::config::endpoint::Params::builder()
1530 .region("aws-global".to_string())
1531 .bucket("bucket-name".to_string())
1532 .use_fips(false)
1533 .use_dual_stack(false)
1534 .accelerate(false)
1535 .build()
1536 .expect("invalid params");
1537 let resolver = crate::config::endpoint::DefaultResolver::new();
1538 let endpoint = resolver.resolve_endpoint(¶ms);
1539 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
1540 assert_eq!(
1541 endpoint,
1542 ::aws_smithy_types::endpoint::Endpoint::builder()
1543 .url("https://bucket-name.s3.amazonaws.com")
1544 .property(
1545 "authSchemes",
1546 vec![::aws_smithy_types::Document::from({
1547 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1548 out.insert("name".to_string(), "sigv4".to_string().into());
1549 out.insert("signingName".to_string(), "s3".to_string().into());
1550 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1551 out.insert("disableDoubleEncoding".to_string(), true.into());
1552 out
1553 })]
1554 )
1555 .build()
1556 );
1557 }
1558
1559 #[test]
1561 fn test_57() {
1562 let params = crate::config::endpoint::Params::builder()
1563 .region("aws-global".to_string())
1564 .bucket("bucket-name".to_string())
1565 .use_fips(false)
1566 .use_dual_stack(false)
1567 .accelerate(false)
1568 .prefix("prefix".to_string())
1569 .key("key".to_string())
1570 .build()
1571 .expect("invalid params");
1572 let resolver = crate::config::endpoint::DefaultResolver::new();
1573 let endpoint = resolver.resolve_endpoint(¶ms);
1574 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
1575 assert_eq!(
1576 endpoint,
1577 ::aws_smithy_types::endpoint::Endpoint::builder()
1578 .url("https://bucket-name.s3.amazonaws.com")
1579 .property(
1580 "authSchemes",
1581 vec![::aws_smithy_types::Document::from({
1582 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1583 out.insert("name".to_string(), "sigv4".to_string().into());
1584 out.insert("signingName".to_string(), "s3".to_string().into());
1585 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1586 out.insert("disableDoubleEncoding".to_string(), true.into());
1587 out
1588 })]
1589 )
1590 .build()
1591 );
1592 }
1593
1594 #[test]
1596 fn test_58() {
1597 let params = crate::config::endpoint::Params::builder()
1598 .region("aws-global".to_string())
1599 .bucket("bucket-name".to_string())
1600 .use_fips(false)
1601 .use_dual_stack(false)
1602 .accelerate(false)
1603 .copy_source("/copy/source".to_string())
1604 .key("key".to_string())
1605 .build()
1606 .expect("invalid params");
1607 let resolver = crate::config::endpoint::DefaultResolver::new();
1608 let endpoint = resolver.resolve_endpoint(¶ms);
1609 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
1610 assert_eq!(
1611 endpoint,
1612 ::aws_smithy_types::endpoint::Endpoint::builder()
1613 .url("https://bucket-name.s3.amazonaws.com")
1614 .property(
1615 "authSchemes",
1616 vec![::aws_smithy_types::Document::from({
1617 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1618 out.insert("name".to_string(), "sigv4".to_string().into());
1619 out.insert("signingName".to_string(), "s3".to_string().into());
1620 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1621 out.insert("disableDoubleEncoding".to_string(), true.into());
1622 out
1623 })]
1624 )
1625 .build()
1626 );
1627 }
1628
1629 #[test]
1631 fn test_59() {
1632 let params = crate::config::endpoint::Params::builder()
1633 .region("aws-global".to_string())
1634 .bucket("bucket-name".to_string())
1635 .use_fips(true)
1636 .use_dual_stack(false)
1637 .accelerate(false)
1638 .build()
1639 .expect("invalid params");
1640 let resolver = crate::config::endpoint::DefaultResolver::new();
1641 let endpoint = resolver.resolve_endpoint(¶ms);
1642 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
1643 assert_eq!(
1644 endpoint,
1645 ::aws_smithy_types::endpoint::Endpoint::builder()
1646 .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
1647 .property(
1648 "authSchemes",
1649 vec![::aws_smithy_types::Document::from({
1650 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1651 out.insert("name".to_string(), "sigv4".to_string().into());
1652 out.insert("signingName".to_string(), "s3".to_string().into());
1653 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1654 out.insert("disableDoubleEncoding".to_string(), true.into());
1655 out
1656 })]
1657 )
1658 .build()
1659 );
1660 }
1661
1662 #[test]
1664 fn test_60() {
1665 let params = crate::config::endpoint::Params::builder()
1666 .region("aws-global".to_string())
1667 .bucket("bucket-name".to_string())
1668 .use_fips(false)
1669 .use_dual_stack(true)
1670 .accelerate(false)
1671 .build()
1672 .expect("invalid params");
1673 let resolver = crate::config::endpoint::DefaultResolver::new();
1674 let endpoint = resolver.resolve_endpoint(¶ms);
1675 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
1676 assert_eq!(
1677 endpoint,
1678 ::aws_smithy_types::endpoint::Endpoint::builder()
1679 .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
1680 .property(
1681 "authSchemes",
1682 vec![::aws_smithy_types::Document::from({
1683 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1684 out.insert("name".to_string(), "sigv4".to_string().into());
1685 out.insert("signingName".to_string(), "s3".to_string().into());
1686 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1687 out.insert("disableDoubleEncoding".to_string(), true.into());
1688 out
1689 })]
1690 )
1691 .build()
1692 );
1693 }
1694
1695 #[test]
1697 fn test_61() {
1698 let params = crate::config::endpoint::Params::builder()
1699 .region("aws-global".to_string())
1700 .bucket("bucket-name".to_string())
1701 .use_fips(true)
1702 .use_dual_stack(true)
1703 .accelerate(false)
1704 .build()
1705 .expect("invalid params");
1706 let resolver = crate::config::endpoint::DefaultResolver::new();
1707 let endpoint = resolver.resolve_endpoint(¶ms);
1708 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com");
1709 assert_eq!(
1710 endpoint,
1711 ::aws_smithy_types::endpoint::Endpoint::builder()
1712 .url("https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com")
1713 .property(
1714 "authSchemes",
1715 vec![::aws_smithy_types::Document::from({
1716 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1717 out.insert("name".to_string(), "sigv4".to_string().into());
1718 out.insert("signingName".to_string(), "s3".to_string().into());
1719 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1720 out.insert("disableDoubleEncoding".to_string(), true.into());
1721 out
1722 })]
1723 )
1724 .build()
1725 );
1726 }
1727
1728 #[test]
1730 fn test_62() {
1731 let params = crate::config::endpoint::Params::builder()
1732 .region("aws-global".to_string())
1733 .bucket("bucket-name".to_string())
1734 .use_fips(false)
1735 .use_dual_stack(false)
1736 .accelerate(true)
1737 .build()
1738 .expect("invalid params");
1739 let resolver = crate::config::endpoint::DefaultResolver::new();
1740 let endpoint = resolver.resolve_endpoint(¶ms);
1741 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
1742 assert_eq!(
1743 endpoint,
1744 ::aws_smithy_types::endpoint::Endpoint::builder()
1745 .url("https://bucket-name.s3-accelerate.amazonaws.com")
1746 .property(
1747 "authSchemes",
1748 vec![::aws_smithy_types::Document::from({
1749 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1750 out.insert("name".to_string(), "sigv4".to_string().into());
1751 out.insert("signingName".to_string(), "s3".to_string().into());
1752 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1753 out.insert("disableDoubleEncoding".to_string(), true.into());
1754 out
1755 })]
1756 )
1757 .build()
1758 );
1759 }
1760
1761 #[test]
1763 fn test_63() {
1764 let params = crate::config::endpoint::Params::builder()
1765 .region("aws-global".to_string())
1766 .endpoint("https://example.com".to_string())
1767 .bucket("bucket-name".to_string())
1768 .use_fips(false)
1769 .use_dual_stack(false)
1770 .accelerate(false)
1771 .build()
1772 .expect("invalid params");
1773 let resolver = crate::config::endpoint::DefaultResolver::new();
1774 let endpoint = resolver.resolve_endpoint(¶ms);
1775 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
1776 assert_eq!(
1777 endpoint,
1778 ::aws_smithy_types::endpoint::Endpoint::builder()
1779 .url("https://bucket-name.example.com")
1780 .property(
1781 "authSchemes",
1782 vec![::aws_smithy_types::Document::from({
1783 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1784 out.insert("name".to_string(), "sigv4".to_string().into());
1785 out.insert("signingName".to_string(), "s3".to_string().into());
1786 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1787 out.insert("disableDoubleEncoding".to_string(), true.into());
1788 out
1789 })]
1790 )
1791 .build()
1792 );
1793 }
1794
1795 #[test]
1797 fn test_64() {
1798 let params = crate::config::endpoint::Params::builder()
1799 .region("us-east-1".to_string())
1800 .use_global_endpoint(true)
1801 .bucket("bucket-name".to_string())
1802 .use_fips(false)
1803 .use_dual_stack(false)
1804 .accelerate(false)
1805 .build()
1806 .expect("invalid params");
1807 let resolver = crate::config::endpoint::DefaultResolver::new();
1808 let endpoint = resolver.resolve_endpoint(¶ms);
1809 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
1810 assert_eq!(
1811 endpoint,
1812 ::aws_smithy_types::endpoint::Endpoint::builder()
1813 .url("https://bucket-name.s3.amazonaws.com")
1814 .property(
1815 "authSchemes",
1816 vec![::aws_smithy_types::Document::from({
1817 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1818 out.insert("name".to_string(), "sigv4".to_string().into());
1819 out.insert("signingName".to_string(), "s3".to_string().into());
1820 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1821 out.insert("disableDoubleEncoding".to_string(), true.into());
1822 out
1823 })]
1824 )
1825 .build()
1826 );
1827 }
1828
1829 #[test]
1831 fn test_65() {
1832 let params = crate::config::endpoint::Params::builder()
1833 .region("us-west-2".to_string())
1834 .use_global_endpoint(true)
1835 .bucket("bucket-name".to_string())
1836 .use_fips(false)
1837 .use_dual_stack(false)
1838 .accelerate(false)
1839 .build()
1840 .expect("invalid params");
1841 let resolver = crate::config::endpoint::DefaultResolver::new();
1842 let endpoint = resolver.resolve_endpoint(¶ms);
1843 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.us-west-2.amazonaws.com");
1844 assert_eq!(
1845 endpoint,
1846 ::aws_smithy_types::endpoint::Endpoint::builder()
1847 .url("https://bucket-name.s3.us-west-2.amazonaws.com")
1848 .property(
1849 "authSchemes",
1850 vec![::aws_smithy_types::Document::from({
1851 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1852 out.insert("name".to_string(), "sigv4".to_string().into());
1853 out.insert("signingName".to_string(), "s3".to_string().into());
1854 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
1855 out.insert("disableDoubleEncoding".to_string(), true.into());
1856 out
1857 })]
1858 )
1859 .build()
1860 );
1861 }
1862
1863 #[test]
1865 fn test_66() {
1866 let params = crate::config::endpoint::Params::builder()
1867 .region("us-east-1".to_string())
1868 .use_global_endpoint(true)
1869 .bucket("bucket-name".to_string())
1870 .use_fips(true)
1871 .use_dual_stack(false)
1872 .accelerate(false)
1873 .build()
1874 .expect("invalid params");
1875 let resolver = crate::config::endpoint::DefaultResolver::new();
1876 let endpoint = resolver.resolve_endpoint(¶ms);
1877 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
1878 assert_eq!(
1879 endpoint,
1880 ::aws_smithy_types::endpoint::Endpoint::builder()
1881 .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
1882 .property(
1883 "authSchemes",
1884 vec![::aws_smithy_types::Document::from({
1885 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1886 out.insert("name".to_string(), "sigv4".to_string().into());
1887 out.insert("signingName".to_string(), "s3".to_string().into());
1888 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1889 out.insert("disableDoubleEncoding".to_string(), true.into());
1890 out
1891 })]
1892 )
1893 .build()
1894 );
1895 }
1896
1897 #[test]
1899 fn test_67() {
1900 let params = crate::config::endpoint::Params::builder()
1901 .region("us-east-1".to_string())
1902 .use_global_endpoint(true)
1903 .bucket("bucket-name".to_string())
1904 .use_fips(false)
1905 .use_dual_stack(true)
1906 .accelerate(false)
1907 .build()
1908 .expect("invalid params");
1909 let resolver = crate::config::endpoint::DefaultResolver::new();
1910 let endpoint = resolver.resolve_endpoint(¶ms);
1911 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
1912 assert_eq!(
1913 endpoint,
1914 ::aws_smithy_types::endpoint::Endpoint::builder()
1915 .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
1916 .property(
1917 "authSchemes",
1918 vec![::aws_smithy_types::Document::from({
1919 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1920 out.insert("name".to_string(), "sigv4".to_string().into());
1921 out.insert("signingName".to_string(), "s3".to_string().into());
1922 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1923 out.insert("disableDoubleEncoding".to_string(), true.into());
1924 out
1925 })]
1926 )
1927 .build()
1928 );
1929 }
1930
1931 #[test]
1933 fn test_68() {
1934 let params = crate::config::endpoint::Params::builder()
1935 .region("us-east-1".to_string())
1936 .use_global_endpoint(true)
1937 .bucket("bucket-name".to_string())
1938 .use_fips(false)
1939 .use_dual_stack(false)
1940 .accelerate(true)
1941 .build()
1942 .expect("invalid params");
1943 let resolver = crate::config::endpoint::DefaultResolver::new();
1944 let endpoint = resolver.resolve_endpoint(¶ms);
1945 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
1946 assert_eq!(
1947 endpoint,
1948 ::aws_smithy_types::endpoint::Endpoint::builder()
1949 .url("https://bucket-name.s3-accelerate.amazonaws.com")
1950 .property(
1951 "authSchemes",
1952 vec![::aws_smithy_types::Document::from({
1953 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1954 out.insert("name".to_string(), "sigv4".to_string().into());
1955 out.insert("signingName".to_string(), "s3".to_string().into());
1956 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1957 out.insert("disableDoubleEncoding".to_string(), true.into());
1958 out
1959 })]
1960 )
1961 .build()
1962 );
1963 }
1964
1965 #[test]
1967 fn test_69() {
1968 let params = crate::config::endpoint::Params::builder()
1969 .region("us-east-1".to_string())
1970 .endpoint("https://example.com".to_string())
1971 .use_global_endpoint(true)
1972 .bucket("bucket-name".to_string())
1973 .use_fips(false)
1974 .use_dual_stack(false)
1975 .accelerate(false)
1976 .build()
1977 .expect("invalid params");
1978 let resolver = crate::config::endpoint::DefaultResolver::new();
1979 let endpoint = resolver.resolve_endpoint(¶ms);
1980 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
1981 assert_eq!(
1982 endpoint,
1983 ::aws_smithy_types::endpoint::Endpoint::builder()
1984 .url("https://bucket-name.example.com")
1985 .property(
1986 "authSchemes",
1987 vec![::aws_smithy_types::Document::from({
1988 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1989 out.insert("name".to_string(), "sigv4".to_string().into());
1990 out.insert("signingName".to_string(), "s3".to_string().into());
1991 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1992 out.insert("disableDoubleEncoding".to_string(), true.into());
1993 out
1994 })]
1995 )
1996 .build()
1997 );
1998 }
1999
2000 #[test]
2002 fn test_70() {
2003 let params = crate::config::endpoint::Params::builder()
2004 .region("aws-global".to_string())
2005 .bucket("bucket-name".to_string())
2006 .force_path_style(true)
2007 .use_fips(false)
2008 .use_dual_stack(false)
2009 .accelerate(false)
2010 .build()
2011 .expect("invalid params");
2012 let resolver = crate::config::endpoint::DefaultResolver::new();
2013 let endpoint = resolver.resolve_endpoint(¶ms);
2014 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
2015 assert_eq!(
2016 endpoint,
2017 ::aws_smithy_types::endpoint::Endpoint::builder()
2018 .url("https://s3.amazonaws.com/bucket-name")
2019 .property(
2020 "authSchemes",
2021 vec![::aws_smithy_types::Document::from({
2022 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2023 out.insert("name".to_string(), "sigv4".to_string().into());
2024 out.insert("signingName".to_string(), "s3".to_string().into());
2025 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2026 out.insert("disableDoubleEncoding".to_string(), true.into());
2027 out
2028 })]
2029 )
2030 .build()
2031 );
2032 }
2033
2034 #[test]
2036 fn test_71() {
2037 let params = crate::config::endpoint::Params::builder()
2038 .region("aws-global".to_string())
2039 .bucket("bucket-name".to_string())
2040 .force_path_style(true)
2041 .use_fips(true)
2042 .use_dual_stack(false)
2043 .accelerate(false)
2044 .build()
2045 .expect("invalid params");
2046 let resolver = crate::config::endpoint::DefaultResolver::new();
2047 let endpoint = resolver.resolve_endpoint(¶ms);
2048 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket-name");
2049 assert_eq!(
2050 endpoint,
2051 ::aws_smithy_types::endpoint::Endpoint::builder()
2052 .url("https://s3-fips.us-east-1.amazonaws.com/bucket-name")
2053 .property(
2054 "authSchemes",
2055 vec![::aws_smithy_types::Document::from({
2056 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2057 out.insert("signingName".to_string(), "s3".to_string().into());
2058 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2059 out.insert("disableDoubleEncoding".to_string(), true.into());
2060 out.insert("name".to_string(), "sigv4".to_string().into());
2061 out
2062 })]
2063 )
2064 .build()
2065 );
2066 }
2067
2068 #[test]
2070 fn test_72() {
2071 let params = crate::config::endpoint::Params::builder()
2072 .region("aws-global".to_string())
2073 .bucket("bucket-name".to_string())
2074 .force_path_style(true)
2075 .use_fips(false)
2076 .use_dual_stack(true)
2077 .accelerate(false)
2078 .build()
2079 .expect("invalid params");
2080 let resolver = crate::config::endpoint::DefaultResolver::new();
2081 let endpoint = resolver.resolve_endpoint(¶ms);
2082 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
2083 assert_eq!(
2084 endpoint,
2085 ::aws_smithy_types::endpoint::Endpoint::builder()
2086 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
2087 .property(
2088 "authSchemes",
2089 vec![::aws_smithy_types::Document::from({
2090 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2091 out.insert("name".to_string(), "sigv4".to_string().into());
2092 out.insert("signingName".to_string(), "s3".to_string().into());
2093 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2094 out.insert("disableDoubleEncoding".to_string(), true.into());
2095 out
2096 })]
2097 )
2098 .build()
2099 );
2100 }
2101
2102 #[test]
2104 fn test_73() {
2105 let params = crate::config::endpoint::Params::builder()
2106 .region("aws-global".to_string())
2107 .endpoint("https://example.com".to_string())
2108 .bucket("bucket-name".to_string())
2109 .force_path_style(true)
2110 .use_fips(false)
2111 .use_dual_stack(false)
2112 .accelerate(false)
2113 .build()
2114 .expect("invalid params");
2115 let resolver = crate::config::endpoint::DefaultResolver::new();
2116 let endpoint = resolver.resolve_endpoint(¶ms);
2117 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
2118 assert_eq!(
2119 endpoint,
2120 ::aws_smithy_types::endpoint::Endpoint::builder()
2121 .url("https://example.com/bucket-name")
2122 .property(
2123 "authSchemes",
2124 vec![::aws_smithy_types::Document::from({
2125 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2126 out.insert("name".to_string(), "sigv4".to_string().into());
2127 out.insert("signingName".to_string(), "s3".to_string().into());
2128 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2129 out.insert("disableDoubleEncoding".to_string(), true.into());
2130 out
2131 })]
2132 )
2133 .build()
2134 );
2135 }
2136
2137 #[test]
2139 fn test_74() {
2140 let params = crate::config::endpoint::Params::builder()
2141 .region("us-east-1".to_string())
2142 .bucket("bucket-name".to_string())
2143 .use_global_endpoint(true)
2144 .force_path_style(true)
2145 .use_fips(false)
2146 .use_dual_stack(false)
2147 .accelerate(false)
2148 .build()
2149 .expect("invalid params");
2150 let resolver = crate::config::endpoint::DefaultResolver::new();
2151 let endpoint = resolver.resolve_endpoint(¶ms);
2152 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
2153 assert_eq!(
2154 endpoint,
2155 ::aws_smithy_types::endpoint::Endpoint::builder()
2156 .url("https://s3.amazonaws.com/bucket-name")
2157 .property(
2158 "authSchemes",
2159 vec![::aws_smithy_types::Document::from({
2160 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2161 out.insert("name".to_string(), "sigv4".to_string().into());
2162 out.insert("signingName".to_string(), "s3".to_string().into());
2163 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2164 out.insert("disableDoubleEncoding".to_string(), true.into());
2165 out
2166 })]
2167 )
2168 .build()
2169 );
2170 }
2171
2172 #[test]
2174 fn test_75() {
2175 let params = crate::config::endpoint::Params::builder()
2176 .region("us-west-2".to_string())
2177 .bucket("bucket-name".to_string())
2178 .use_global_endpoint(true)
2179 .force_path_style(true)
2180 .use_fips(false)
2181 .use_dual_stack(false)
2182 .accelerate(false)
2183 .build()
2184 .expect("invalid params");
2185 let resolver = crate::config::endpoint::DefaultResolver::new();
2186 let endpoint = resolver.resolve_endpoint(¶ms);
2187 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
2188 assert_eq!(
2189 endpoint,
2190 ::aws_smithy_types::endpoint::Endpoint::builder()
2191 .url("https://s3.us-west-2.amazonaws.com/bucket-name")
2192 .property(
2193 "authSchemes",
2194 vec![::aws_smithy_types::Document::from({
2195 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2196 out.insert("name".to_string(), "sigv4".to_string().into());
2197 out.insert("signingName".to_string(), "s3".to_string().into());
2198 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2199 out.insert("disableDoubleEncoding".to_string(), true.into());
2200 out
2201 })]
2202 )
2203 .build()
2204 );
2205 }
2206
2207 #[test]
2209 fn test_76() {
2210 let params = crate::config::endpoint::Params::builder()
2211 .region("us-east-1".to_string())
2212 .bucket("bucket-name".to_string())
2213 .use_global_endpoint(true)
2214 .force_path_style(true)
2215 .use_fips(false)
2216 .use_dual_stack(true)
2217 .accelerate(false)
2218 .build()
2219 .expect("invalid params");
2220 let resolver = crate::config::endpoint::DefaultResolver::new();
2221 let endpoint = resolver.resolve_endpoint(¶ms);
2222 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
2223 assert_eq!(
2224 endpoint,
2225 ::aws_smithy_types::endpoint::Endpoint::builder()
2226 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
2227 .property(
2228 "authSchemes",
2229 vec![::aws_smithy_types::Document::from({
2230 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2231 out.insert("name".to_string(), "sigv4".to_string().into());
2232 out.insert("signingName".to_string(), "s3".to_string().into());
2233 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2234 out.insert("disableDoubleEncoding".to_string(), true.into());
2235 out
2236 })]
2237 )
2238 .build()
2239 );
2240 }
2241
2242 #[test]
2244 fn test_77() {
2245 let params = crate::config::endpoint::Params::builder()
2246 .region("us-east-1".to_string())
2247 .bucket("bucket-name".to_string())
2248 .endpoint("https://example.com".to_string())
2249 .use_global_endpoint(true)
2250 .force_path_style(true)
2251 .use_fips(false)
2252 .use_dual_stack(false)
2253 .accelerate(false)
2254 .build()
2255 .expect("invalid params");
2256 let resolver = crate::config::endpoint::DefaultResolver::new();
2257 let endpoint = resolver.resolve_endpoint(¶ms);
2258 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
2259 assert_eq!(
2260 endpoint,
2261 ::aws_smithy_types::endpoint::Endpoint::builder()
2262 .url("https://example.com/bucket-name")
2263 .property(
2264 "authSchemes",
2265 vec![::aws_smithy_types::Document::from({
2266 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2267 out.insert("name".to_string(), "sigv4".to_string().into());
2268 out.insert("signingName".to_string(), "s3".to_string().into());
2269 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2270 out.insert("disableDoubleEncoding".to_string(), true.into());
2271 out
2272 })]
2273 )
2274 .build()
2275 );
2276 }
2277
2278 #[test]
2280 fn test_78() {
2281 let params = crate::config::endpoint::Params::builder()
2282 .region("aws-global".to_string())
2283 .use_arn_region(true)
2284 .use_fips(false)
2285 .use_dual_stack(false)
2286 .accelerate(false)
2287 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
2288 .build()
2289 .expect("invalid params");
2290 let resolver = crate::config::endpoint::DefaultResolver::new();
2291 let endpoint = resolver.resolve_endpoint(¶ms);
2292 let endpoint =
2293 endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
2294 assert_eq!(
2295 endpoint,
2296 ::aws_smithy_types::endpoint::Endpoint::builder()
2297 .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
2298 .property(
2299 "authSchemes",
2300 vec![
2301 ::aws_smithy_types::Document::from({
2302 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2303 out.insert("name".to_string(), "sigv4a".to_string().into());
2304 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
2305 out.insert(
2306 "signingRegionSet".to_string(),
2307 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
2308 );
2309 out.insert("disableDoubleEncoding".to_string(), true.into());
2310 out
2311 }),
2312 ::aws_smithy_types::Document::from({
2313 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2314 out.insert("name".to_string(), "sigv4".to_string().into());
2315 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
2316 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2317 out.insert("disableDoubleEncoding".to_string(), true.into());
2318 out
2319 })
2320 ]
2321 )
2322 .build()
2323 );
2324 }
2325
2326 #[test]
2328 fn test_79() {
2329 let params = crate::config::endpoint::Params::builder()
2330 .bucket("arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
2331 .region("us-west-1".to_string())
2332 .build()
2333 .expect("invalid params");
2334 let resolver = crate::config::endpoint::DefaultResolver::new();
2335 let endpoint = resolver.resolve_endpoint(¶ms);
2336 let error = endpoint.expect_err("expected error: Client was configured for partition `aws` but bucket referred to partition `aws-cn` [cross partition MRAP ARN is an error]");
2337 assert_eq!(
2338 format!("{}", error),
2339 "Client was configured for partition `aws` but bucket referred to partition `aws-cn`"
2340 )
2341 }
2342
2343 #[test]
2345 fn test_80() {
2346 let params = crate::config::endpoint::Params::builder()
2347 .endpoint("http://beta.example.com:1234".to_string())
2348 .region("us-west-2".to_string())
2349 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
2350 .build()
2351 .expect("invalid params");
2352 let resolver = crate::config::endpoint::DefaultResolver::new();
2353 let endpoint = resolver.resolve_endpoint(¶ms);
2354 let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234");
2355 assert_eq!(
2356 endpoint,
2357 ::aws_smithy_types::endpoint::Endpoint::builder()
2358 .url("http://myendpoint-123456789012.beta.example.com:1234")
2359 .property(
2360 "authSchemes",
2361 vec![::aws_smithy_types::Document::from({
2362 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2363 out.insert("name".to_string(), "sigv4".to_string().into());
2364 out.insert("signingName".to_string(), "s3".to_string().into());
2365 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2366 out.insert("disableDoubleEncoding".to_string(), true.into());
2367 out
2368 })]
2369 )
2370 .build()
2371 );
2372 }
2373
2374 #[test]
2376 fn test_81() {
2377 let params = crate::config::endpoint::Params::builder()
2378 .region("us-west-2".to_string())
2379 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
2380 .endpoint("http://beta.example.com:1234/path".to_string())
2381 .use_fips(false)
2382 .use_dual_stack(false)
2383 .accelerate(false)
2384 .build()
2385 .expect("invalid params");
2386 let resolver = crate::config::endpoint::DefaultResolver::new();
2387 let endpoint = resolver.resolve_endpoint(¶ms);
2388 let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234/path");
2389 assert_eq!(
2390 endpoint,
2391 ::aws_smithy_types::endpoint::Endpoint::builder()
2392 .url("http://myendpoint-123456789012.beta.example.com:1234/path")
2393 .property(
2394 "authSchemes",
2395 vec![::aws_smithy_types::Document::from({
2396 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2397 out.insert("name".to_string(), "sigv4".to_string().into());
2398 out.insert("signingName".to_string(), "s3".to_string().into());
2399 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2400 out.insert("disableDoubleEncoding".to_string(), true.into());
2401 out
2402 })]
2403 )
2404 .build()
2405 );
2406 }
2407
2408 #[test]
2410 fn test_82() {
2411 let params = crate::config::endpoint::Params::builder()
2412 .region("us-west-2".to_string())
2413 .endpoint("http://beta.example.com:1234/path".to_string())
2414 .use_fips(true)
2415 .use_dual_stack(false)
2416 .build()
2417 .expect("invalid params");
2418 let resolver = crate::config::endpoint::DefaultResolver::new();
2419 let endpoint = resolver.resolve_endpoint(¶ms);
2420 let error =
2421 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [non-bucket endpoint override with FIPS = error]");
2422 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2423 }
2424
2425 #[test]
2427 fn test_83() {
2428 let params = crate::config::endpoint::Params::builder()
2429 .region("us-west-2".to_string())
2430 .endpoint("http://beta.example.com:1234/path".to_string())
2431 .use_fips(true)
2432 .use_dual_stack(true)
2433 .build()
2434 .expect("invalid params");
2435 let resolver = crate::config::endpoint::DefaultResolver::new();
2436 let endpoint = resolver.resolve_endpoint(¶ms);
2437 let error =
2438 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [FIPS + dualstack + custom endpoint]");
2439 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
2440 }
2441
2442 #[test]
2444 fn test_84() {
2445 let params = crate::config::endpoint::Params::builder()
2446 .region("us-west-2".to_string())
2447 .endpoint("http://beta.example.com:1234/path".to_string())
2448 .use_fips(false)
2449 .use_dual_stack(true)
2450 .build()
2451 .expect("invalid params");
2452 let resolver = crate::config::endpoint::DefaultResolver::new();
2453 let endpoint = resolver.resolve_endpoint(¶ms);
2454 let error = endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [dualstack + custom endpoint]");
2455 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
2456 }
2457
2458 #[test]
2460 fn test_85() {
2461 let params = crate::config::endpoint::Params::builder()
2462 .region("us-west-2".to_string())
2463 .endpoint("http://beta.example.com:1234/path".to_string())
2464 .use_fips(false)
2465 .use_dual_stack(false)
2466 .build()
2467 .expect("invalid params");
2468 let resolver = crate::config::endpoint::DefaultResolver::new();
2469 let endpoint = resolver.resolve_endpoint(¶ms);
2470 let endpoint = endpoint.expect("Expected valid endpoint: http://beta.example.com:1234/path");
2471 assert_eq!(
2472 endpoint,
2473 ::aws_smithy_types::endpoint::Endpoint::builder()
2474 .url("http://beta.example.com:1234/path")
2475 .property(
2476 "authSchemes",
2477 vec![::aws_smithy_types::Document::from({
2478 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2479 out.insert("name".to_string(), "sigv4".to_string().into());
2480 out.insert("signingName".to_string(), "s3".to_string().into());
2481 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2482 out.insert("disableDoubleEncoding".to_string(), true.into());
2483 out
2484 })]
2485 )
2486 .build()
2487 );
2488 }
2489
2490 #[test]
2492 fn test_86() {
2493 let params = crate::config::endpoint::Params::builder()
2494 .region("us-west-2".to_string())
2495 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint".to_string())
2496 .disable_access_points(true)
2497 .build()
2498 .expect("invalid params");
2499 let resolver = crate::config::endpoint::DefaultResolver::new();
2500 let endpoint = resolver.resolve_endpoint(¶ms);
2501 let error =
2502 endpoint.expect_err("expected error: Access points are not supported for this operation [s3 object lambda with access points disabled]");
2503 assert_eq!(format!("{}", error), "Access points are not supported for this operation")
2504 }
2505
2506 #[test]
2508 fn test_87() {
2509 let params = crate::config::endpoint::Params::builder()
2510 .region("us-west-2".to_string())
2511 .use_fips(true)
2512 .use_dual_stack(false)
2513 .build()
2514 .expect("invalid params");
2515 let resolver = crate::config::endpoint::DefaultResolver::new();
2516 let endpoint = resolver.resolve_endpoint(¶ms);
2517 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-west-2.amazonaws.com");
2518 assert_eq!(
2519 endpoint,
2520 ::aws_smithy_types::endpoint::Endpoint::builder()
2521 .url("https://s3-fips.us-west-2.amazonaws.com")
2522 .property(
2523 "authSchemes",
2524 vec![::aws_smithy_types::Document::from({
2525 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2526 out.insert("name".to_string(), "sigv4".to_string().into());
2527 out.insert("signingName".to_string(), "s3".to_string().into());
2528 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2529 out.insert("disableDoubleEncoding".to_string(), true.into());
2530 out
2531 })]
2532 )
2533 .build()
2534 );
2535 }
2536
2537 #[test]
2539 fn test_88() {
2540 let params = crate::config::endpoint::Params::builder()
2541 .region("us-west-2".to_string())
2542 .use_fips(false)
2543 .use_dual_stack(false)
2544 .build()
2545 .expect("invalid params");
2546 let resolver = crate::config::endpoint::DefaultResolver::new();
2547 let endpoint = resolver.resolve_endpoint(¶ms);
2548 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
2549 assert_eq!(
2550 endpoint,
2551 ::aws_smithy_types::endpoint::Endpoint::builder()
2552 .url("https://s3.us-west-2.amazonaws.com")
2553 .property(
2554 "authSchemes",
2555 vec![::aws_smithy_types::Document::from({
2556 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2557 out.insert("name".to_string(), "sigv4".to_string().into());
2558 out.insert("signingName".to_string(), "s3".to_string().into());
2559 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2560 out.insert("disableDoubleEncoding".to_string(), true.into());
2561 out
2562 })]
2563 )
2564 .build()
2565 );
2566 }
2567
2568 #[test]
2570 fn test_89() {
2571 let params = crate::config::endpoint::Params::builder()
2572 .region("us-west-2".to_string())
2573 .use_fips(true)
2574 .use_dual_stack(true)
2575 .build()
2576 .expect("invalid params");
2577 let resolver = crate::config::endpoint::DefaultResolver::new();
2578 let endpoint = resolver.resolve_endpoint(¶ms);
2579 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-west-2.amazonaws.com");
2580 assert_eq!(
2581 endpoint,
2582 ::aws_smithy_types::endpoint::Endpoint::builder()
2583 .url("https://s3-fips.dualstack.us-west-2.amazonaws.com")
2584 .property(
2585 "authSchemes",
2586 vec![::aws_smithy_types::Document::from({
2587 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2588 out.insert("name".to_string(), "sigv4".to_string().into());
2589 out.insert("signingName".to_string(), "s3".to_string().into());
2590 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2591 out.insert("disableDoubleEncoding".to_string(), true.into());
2592 out
2593 })]
2594 )
2595 .build()
2596 );
2597 }
2598
2599 #[test]
2601 fn test_90() {
2602 let params = crate::config::endpoint::Params::builder()
2603 .region("us-west-2".to_string())
2604 .use_fips(false)
2605 .use_dual_stack(true)
2606 .build()
2607 .expect("invalid params");
2608 let resolver = crate::config::endpoint::DefaultResolver::new();
2609 let endpoint = resolver.resolve_endpoint(¶ms);
2610 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com");
2611 assert_eq!(
2612 endpoint,
2613 ::aws_smithy_types::endpoint::Endpoint::builder()
2614 .url("https://s3.dualstack.us-west-2.amazonaws.com")
2615 .property(
2616 "authSchemes",
2617 vec![::aws_smithy_types::Document::from({
2618 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2619 out.insert("name".to_string(), "sigv4".to_string().into());
2620 out.insert("signingName".to_string(), "s3".to_string().into());
2621 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2622 out.insert("disableDoubleEncoding".to_string(), true.into());
2623 out
2624 })]
2625 )
2626 .build()
2627 );
2628 }
2629
2630 #[test]
2632 fn test_91() {
2633 let params = crate::config::endpoint::Params::builder()
2634 .region("us-east-1".to_string())
2635 .bucket("bucket".to_string())
2636 .use_fips(false)
2637 .use_dual_stack(false)
2638 .endpoint("http://127.0.0.1".to_string())
2639 .use_global_endpoint(true)
2640 .build()
2641 .expect("invalid params");
2642 let resolver = crate::config::endpoint::DefaultResolver::new();
2643 let endpoint = resolver.resolve_endpoint(¶ms);
2644 let endpoint = endpoint.expect("Expected valid endpoint: http://127.0.0.1/bucket");
2645 assert_eq!(
2646 endpoint,
2647 ::aws_smithy_types::endpoint::Endpoint::builder()
2648 .url("http://127.0.0.1/bucket")
2649 .property(
2650 "authSchemes",
2651 vec![::aws_smithy_types::Document::from({
2652 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2653 out.insert("name".to_string(), "sigv4".to_string().into());
2654 out.insert("signingName".to_string(), "s3".to_string().into());
2655 out.insert("disableDoubleEncoding".to_string(), true.into());
2656 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2657 out
2658 })]
2659 )
2660 .build()
2661 );
2662 }
2663
2664 #[test]
2666 fn test_92() {
2667 let params = crate::config::endpoint::Params::builder()
2668 .region("us-east-1".to_string())
2669 .bucket("bucket!".to_string())
2670 .use_fips(false)
2671 .use_dual_stack(false)
2672 .use_global_endpoint(true)
2673 .build()
2674 .expect("invalid params");
2675 let resolver = crate::config::endpoint::DefaultResolver::new();
2676 let endpoint = resolver.resolve_endpoint(¶ms);
2677 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
2678 assert_eq!(
2679 endpoint,
2680 ::aws_smithy_types::endpoint::Endpoint::builder()
2681 .url("https://s3.amazonaws.com/bucket%21")
2682 .property(
2683 "authSchemes",
2684 vec![::aws_smithy_types::Document::from({
2685 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2686 out.insert("name".to_string(), "sigv4".to_string().into());
2687 out.insert("signingName".to_string(), "s3".to_string().into());
2688 out.insert("disableDoubleEncoding".to_string(), true.into());
2689 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2690 out
2691 })]
2692 )
2693 .build()
2694 );
2695 }
2696
2697 #[test]
2699 fn test_93() {
2700 let params = crate::config::endpoint::Params::builder()
2701 .region("us-east-1".to_string())
2702 .bucket("bucket!".to_string())
2703 .use_fips(false)
2704 .use_dual_stack(false)
2705 .use_global_endpoint(true)
2706 .endpoint("http://foo.com".to_string())
2707 .build()
2708 .expect("invalid params");
2709 let resolver = crate::config::endpoint::DefaultResolver::new();
2710 let endpoint = resolver.resolve_endpoint(¶ms);
2711 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
2712 assert_eq!(
2713 endpoint,
2714 ::aws_smithy_types::endpoint::Endpoint::builder()
2715 .url("http://foo.com/bucket%21")
2716 .property(
2717 "authSchemes",
2718 vec![::aws_smithy_types::Document::from({
2719 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2720 out.insert("name".to_string(), "sigv4".to_string().into());
2721 out.insert("signingName".to_string(), "s3".to_string().into());
2722 out.insert("disableDoubleEncoding".to_string(), true.into());
2723 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2724 out
2725 })]
2726 )
2727 .build()
2728 );
2729 }
2730
2731 #[test]
2733 fn test_94() {
2734 let params = crate::config::endpoint::Params::builder()
2735 .region("us-east-1".to_string())
2736 .bucket("bucket!".to_string())
2737 .use_fips(true)
2738 .use_dual_stack(true)
2739 .build()
2740 .expect("invalid params");
2741 let resolver = crate::config::endpoint::DefaultResolver::new();
2742 let endpoint = resolver.resolve_endpoint(¶ms);
2743 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
2744 assert_eq!(
2745 endpoint,
2746 ::aws_smithy_types::endpoint::Endpoint::builder()
2747 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
2748 .property(
2749 "authSchemes",
2750 vec![::aws_smithy_types::Document::from({
2751 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2752 out.insert("name".to_string(), "sigv4".to_string().into());
2753 out.insert("signingName".to_string(), "s3".to_string().into());
2754 out.insert("disableDoubleEncoding".to_string(), true.into());
2755 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2756 out
2757 })]
2758 )
2759 .build()
2760 );
2761 }
2762
2763 #[test]
2765 fn test_95() {
2766 let params = crate::config::endpoint::Params::builder()
2767 .region("us-east-1".to_string())
2768 .bucket("bucket!".to_string())
2769 .force_path_style(true)
2770 .use_fips(true)
2771 .use_dual_stack(true)
2772 .build()
2773 .expect("invalid params");
2774 let resolver = crate::config::endpoint::DefaultResolver::new();
2775 let endpoint = resolver.resolve_endpoint(¶ms);
2776 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
2777 assert_eq!(
2778 endpoint,
2779 ::aws_smithy_types::endpoint::Endpoint::builder()
2780 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
2781 .property(
2782 "authSchemes",
2783 vec![::aws_smithy_types::Document::from({
2784 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2785 out.insert("name".to_string(), "sigv4".to_string().into());
2786 out.insert("signingName".to_string(), "s3".to_string().into());
2787 out.insert("disableDoubleEncoding".to_string(), true.into());
2788 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2789 out
2790 })]
2791 )
2792 .build()
2793 );
2794 }
2795
2796 #[test]
2798 fn test_96() {
2799 let params = crate::config::endpoint::Params::builder()
2800 .region("us-east-1".to_string())
2801 .bucket("bucket!".to_string())
2802 .force_path_style(true)
2803 .use_fips(true)
2804 .use_dual_stack(false)
2805 .endpoint("http://foo.com".to_string())
2806 .build()
2807 .expect("invalid params");
2808 let resolver = crate::config::endpoint::DefaultResolver::new();
2809 let endpoint = resolver.resolve_endpoint(¶ms);
2810 let error =
2811 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [endpoint override + FIPS + dualstack (BUG)]");
2812 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2813 }
2814
2815 #[test]
2817 fn test_97() {
2818 let params = crate::config::endpoint::Params::builder()
2819 .region("us-east-1".to_string())
2820 .bucket("bucket!".to_string())
2821 .use_fips(true)
2822 .use_dual_stack(false)
2823 .endpoint("http://foo.com".to_string())
2824 .build()
2825 .expect("invalid params");
2826 let resolver = crate::config::endpoint::DefaultResolver::new();
2827 let endpoint = resolver.resolve_endpoint(¶ms);
2828 let error =
2829 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [endpoint override + non-dns bucket + FIPS (BUG)]");
2830 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2831 }
2832
2833 #[test]
2835 fn test_98() {
2836 let params = crate::config::endpoint::Params::builder()
2837 .region("us-east-1".to_string())
2838 .bucket("bucket!".to_string())
2839 .force_path_style(true)
2840 .use_fips(true)
2841 .use_dual_stack(false)
2842 .use_global_endpoint(true)
2843 .build()
2844 .expect("invalid params");
2845 let resolver = crate::config::endpoint::DefaultResolver::new();
2846 let endpoint = resolver.resolve_endpoint(¶ms);
2847 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
2848 assert_eq!(
2849 endpoint,
2850 ::aws_smithy_types::endpoint::Endpoint::builder()
2851 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
2852 .property(
2853 "authSchemes",
2854 vec![::aws_smithy_types::Document::from({
2855 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2856 out.insert("name".to_string(), "sigv4".to_string().into());
2857 out.insert("signingName".to_string(), "s3".to_string().into());
2858 out.insert("disableDoubleEncoding".to_string(), true.into());
2859 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2860 out
2861 })]
2862 )
2863 .build()
2864 );
2865 }
2866
2867 #[test]
2869 fn test_99() {
2870 let params = crate::config::endpoint::Params::builder()
2871 .region("us-east-1".to_string())
2872 .bucket("bucket".to_string())
2873 .force_path_style(true)
2874 .use_fips(true)
2875 .use_dual_stack(true)
2876 .use_global_endpoint(true)
2877 .build()
2878 .expect("invalid params");
2879 let resolver = crate::config::endpoint::DefaultResolver::new();
2880 let endpoint = resolver.resolve_endpoint(¶ms);
2881 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket");
2882 assert_eq!(
2883 endpoint,
2884 ::aws_smithy_types::endpoint::Endpoint::builder()
2885 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket")
2886 .property(
2887 "authSchemes",
2888 vec![::aws_smithy_types::Document::from({
2889 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2890 out.insert("name".to_string(), "sigv4".to_string().into());
2891 out.insert("signingName".to_string(), "s3".to_string().into());
2892 out.insert("disableDoubleEncoding".to_string(), true.into());
2893 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2894 out
2895 })]
2896 )
2897 .build()
2898 );
2899 }
2900
2901 #[test]
2903 fn test_100() {
2904 let params = crate::config::endpoint::Params::builder()
2905 .region("us-east-1".to_string())
2906 .bucket("bucket".to_string())
2907 .use_fips(true)
2908 .use_dual_stack(true)
2909 .use_global_endpoint(true)
2910 .build()
2911 .expect("invalid params");
2912 let resolver = crate::config::endpoint::DefaultResolver::new();
2913 let endpoint = resolver.resolve_endpoint(¶ms);
2914 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com");
2915 assert_eq!(
2916 endpoint,
2917 ::aws_smithy_types::endpoint::Endpoint::builder()
2918 .url("https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com")
2919 .property(
2920 "authSchemes",
2921 vec![::aws_smithy_types::Document::from({
2922 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2923 out.insert("name".to_string(), "sigv4".to_string().into());
2924 out.insert("signingName".to_string(), "s3".to_string().into());
2925 out.insert("disableDoubleEncoding".to_string(), true.into());
2926 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2927 out
2928 })]
2929 )
2930 .build()
2931 );
2932 }
2933
2934 #[test]
2936 fn test_101() {
2937 let params = crate::config::endpoint::Params::builder()
2938 .region("us-east-1".to_string())
2939 .bucket("bucket!".to_string())
2940 .use_fips(true)
2941 .use_dual_stack(false)
2942 .use_global_endpoint(true)
2943 .endpoint("https://foo.com".to_string())
2944 .build()
2945 .expect("invalid params");
2946 let resolver = crate::config::endpoint::DefaultResolver::new();
2947 let endpoint = resolver.resolve_endpoint(¶ms);
2948 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [URI encoded bucket + use global endpoint]");
2949 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2950 }
2951
2952 #[test]
2954 fn test_102() {
2955 let params = crate::config::endpoint::Params::builder()
2956 .region("us-east-1".to_string())
2957 .bucket("bucket!".to_string())
2958 .use_fips(true)
2959 .use_dual_stack(false)
2960 .accelerate(false)
2961 .use_global_endpoint(true)
2962 .build()
2963 .expect("invalid params");
2964 let resolver = crate::config::endpoint::DefaultResolver::new();
2965 let endpoint = resolver.resolve_endpoint(¶ms);
2966 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
2967 assert_eq!(
2968 endpoint,
2969 ::aws_smithy_types::endpoint::Endpoint::builder()
2970 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
2971 .property(
2972 "authSchemes",
2973 vec![::aws_smithy_types::Document::from({
2974 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2975 out.insert("name".to_string(), "sigv4".to_string().into());
2976 out.insert("signingName".to_string(), "s3".to_string().into());
2977 out.insert("disableDoubleEncoding".to_string(), true.into());
2978 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2979 out
2980 })]
2981 )
2982 .build()
2983 );
2984 }
2985
2986 #[test]
2988 fn test_103() {
2989 let params = crate::config::endpoint::Params::builder()
2990 .region("us-east-1".to_string())
2991 .bucket("bucket".to_string())
2992 .use_fips(false)
2993 .use_dual_stack(true)
2994 .accelerate(true)
2995 .use_global_endpoint(true)
2996 .build()
2997 .expect("invalid params");
2998 let resolver = crate::config::endpoint::DefaultResolver::new();
2999 let endpoint = resolver.resolve_endpoint(¶ms);
3000 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.amazonaws.com");
3001 assert_eq!(
3002 endpoint,
3003 ::aws_smithy_types::endpoint::Endpoint::builder()
3004 .url("https://bucket.s3-accelerate.dualstack.amazonaws.com")
3005 .property(
3006 "authSchemes",
3007 vec![::aws_smithy_types::Document::from({
3008 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3009 out.insert("name".to_string(), "sigv4".to_string().into());
3010 out.insert("signingName".to_string(), "s3".to_string().into());
3011 out.insert("disableDoubleEncoding".to_string(), true.into());
3012 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3013 out
3014 })]
3015 )
3016 .build()
3017 );
3018 }
3019
3020 #[test]
3022 fn test_104() {
3023 let params = crate::config::endpoint::Params::builder()
3024 .region("us-east-1".to_string())
3025 .bucket("bucket!".to_string())
3026 .accelerate(false)
3027 .use_dual_stack(true)
3028 .use_fips(false)
3029 .use_global_endpoint(true)
3030 .build()
3031 .expect("invalid params");
3032 let resolver = crate::config::endpoint::DefaultResolver::new();
3033 let endpoint = resolver.resolve_endpoint(¶ms);
3034 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
3035 assert_eq!(
3036 endpoint,
3037 ::aws_smithy_types::endpoint::Endpoint::builder()
3038 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
3039 .property(
3040 "authSchemes",
3041 vec![::aws_smithy_types::Document::from({
3042 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3043 out.insert("name".to_string(), "sigv4".to_string().into());
3044 out.insert("signingName".to_string(), "s3".to_string().into());
3045 out.insert("disableDoubleEncoding".to_string(), true.into());
3046 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3047 out
3048 })]
3049 )
3050 .build()
3051 );
3052 }
3053
3054 #[test]
3056 fn test_105() {
3057 let params = crate::config::endpoint::Params::builder()
3058 .region("us-east-1".to_string())
3059 .bucket("bucket!".to_string())
3060 .force_path_style(true)
3061 .accelerate(false)
3062 .use_dual_stack(false)
3063 .use_fips(true)
3064 .use_global_endpoint(true)
3065 .build()
3066 .expect("invalid params");
3067 let resolver = crate::config::endpoint::DefaultResolver::new();
3068 let endpoint = resolver.resolve_endpoint(¶ms);
3069 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
3070 assert_eq!(
3071 endpoint,
3072 ::aws_smithy_types::endpoint::Endpoint::builder()
3073 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
3074 .property(
3075 "authSchemes",
3076 vec![::aws_smithy_types::Document::from({
3077 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3078 out.insert("name".to_string(), "sigv4".to_string().into());
3079 out.insert("signingName".to_string(), "s3".to_string().into());
3080 out.insert("disableDoubleEncoding".to_string(), true.into());
3081 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3082 out
3083 })]
3084 )
3085 .build()
3086 );
3087 }
3088
3089 #[test]
3091 fn test_106() {
3092 let params = crate::config::endpoint::Params::builder()
3093 .region("us-east-1".to_string())
3094 .bucket("bucket!".to_string())
3095 .force_path_style(true)
3096 .accelerate(false)
3097 .use_dual_stack(false)
3098 .use_fips(true)
3099 .endpoint("http://foo.com".to_string())
3100 .use_global_endpoint(true)
3101 .build()
3102 .expect("invalid params");
3103 let resolver = crate::config::endpoint::DefaultResolver::new();
3104 let endpoint = resolver.resolve_endpoint(¶ms);
3105 let error = endpoint.expect_err(
3106 "expected error: A custom endpoint cannot be combined with FIPS [endpoint override + non-uri safe endpoint + force path style]",
3107 );
3108 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3109 }
3110
3111 #[test]
3113 fn test_107() {
3114 let params = crate::config::endpoint::Params::builder()
3115 .region("us-east-1".to_string())
3116 .bucket("bucket!".to_string())
3117 .accelerate(false)
3118 .use_dual_stack(true)
3119 .use_fips(true)
3120 .use_global_endpoint(true)
3121 .build()
3122 .expect("invalid params");
3123 let resolver = crate::config::endpoint::DefaultResolver::new();
3124 let endpoint = resolver.resolve_endpoint(¶ms);
3125 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
3126 assert_eq!(
3127 endpoint,
3128 ::aws_smithy_types::endpoint::Endpoint::builder()
3129 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
3130 .property(
3131 "authSchemes",
3132 vec![::aws_smithy_types::Document::from({
3133 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3134 out.insert("name".to_string(), "sigv4".to_string().into());
3135 out.insert("signingName".to_string(), "s3".to_string().into());
3136 out.insert("disableDoubleEncoding".to_string(), true.into());
3137 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3138 out
3139 })]
3140 )
3141 .build()
3142 );
3143 }
3144
3145 #[test]
3147 fn test_108() {
3148 let params = crate::config::endpoint::Params::builder()
3149 .region("us-east-1".to_string())
3150 .use_dual_stack(true)
3151 .use_fips(true)
3152 .use_global_endpoint(true)
3153 .endpoint("http://foo.com".to_string())
3154 .build()
3155 .expect("invalid params");
3156 let resolver = crate::config::endpoint::DefaultResolver::new();
3157 let endpoint = resolver.resolve_endpoint(¶ms);
3158 let error = endpoint
3159 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [endpoint override + FIPS + dualstack]");
3160 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3161 }
3162
3163 #[test]
3165 fn test_109() {
3166 let params = crate::config::endpoint::Params::builder()
3167 .region("us-east-1".to_string())
3168 .use_fips(false)
3169 .use_dual_stack(true)
3170 .use_global_endpoint(true)
3171 .endpoint("http://foo.com".to_string())
3172 .build()
3173 .expect("invalid params");
3174 let resolver = crate::config::endpoint::DefaultResolver::new();
3175 let endpoint = resolver.resolve_endpoint(¶ms);
3176 let error = endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [non-bucket endpoint override + dualstack + global endpoint]");
3177 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3178 }
3179
3180 #[test]
3182 fn test_110() {
3183 let params = crate::config::endpoint::Params::builder()
3184 .region("us-east-1".to_string())
3185 .use_fips(true)
3186 .use_dual_stack(false)
3187 .use_global_endpoint(true)
3188 .endpoint("http://foo.com".to_string())
3189 .build()
3190 .expect("invalid params");
3191 let resolver = crate::config::endpoint::DefaultResolver::new();
3192 let endpoint = resolver.resolve_endpoint(¶ms);
3193 let error =
3194 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [Endpoint override + UseGlobalEndpoint + us-east-1]");
3195 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3196 }
3197
3198 #[test]
3200 fn test_111() {
3201 let params = crate::config::endpoint::Params::builder()
3202 .region("cn-north-1".to_string())
3203 .use_fips(true)
3204 .use_dual_stack(false)
3205 .use_global_endpoint(true)
3206 .build()
3207 .expect("invalid params");
3208 let resolver = crate::config::endpoint::DefaultResolver::new();
3209 let endpoint = resolver.resolve_endpoint(¶ms);
3210 let error = endpoint.expect_err("expected error: Partition does not support FIPS [non-FIPS partition with FIPS set + custom endpoint]");
3211 assert_eq!(format!("{}", error), "Partition does not support FIPS")
3212 }
3213
3214 #[test]
3216 fn test_112() {
3217 let params = crate::config::endpoint::Params::builder()
3218 .region("aws-global".to_string())
3219 .bucket("bucket!".to_string())
3220 .use_fips(true)
3221 .accelerate(false)
3222 .use_dual_stack(true)
3223 .build()
3224 .expect("invalid params");
3225 let resolver = crate::config::endpoint::DefaultResolver::new();
3226 let endpoint = resolver.resolve_endpoint(¶ms);
3227 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
3228 assert_eq!(
3229 endpoint,
3230 ::aws_smithy_types::endpoint::Endpoint::builder()
3231 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
3232 .property(
3233 "authSchemes",
3234 vec![::aws_smithy_types::Document::from({
3235 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3236 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3237 out.insert("name".to_string(), "sigv4".to_string().into());
3238 out.insert("signingName".to_string(), "s3".to_string().into());
3239 out.insert("disableDoubleEncoding".to_string(), true.into());
3240 out
3241 })]
3242 )
3243 .build()
3244 );
3245 }
3246
3247 #[test]
3249 fn test_113() {
3250 let params = crate::config::endpoint::Params::builder()
3251 .region("aws-global".to_string())
3252 .bucket("bucket".to_string())
3253 .use_dual_stack(false)
3254 .use_fips(false)
3255 .accelerate(false)
3256 .endpoint("https://foo.com".to_string())
3257 .build()
3258 .expect("invalid params");
3259 let resolver = crate::config::endpoint::DefaultResolver::new();
3260 let endpoint = resolver.resolve_endpoint(¶ms);
3261 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.foo.com");
3262 assert_eq!(
3263 endpoint,
3264 ::aws_smithy_types::endpoint::Endpoint::builder()
3265 .url("https://bucket.foo.com")
3266 .property(
3267 "authSchemes",
3268 vec![::aws_smithy_types::Document::from({
3269 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3270 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3271 out.insert("name".to_string(), "sigv4".to_string().into());
3272 out.insert("signingName".to_string(), "s3".to_string().into());
3273 out.insert("disableDoubleEncoding".to_string(), true.into());
3274 out
3275 })]
3276 )
3277 .build()
3278 );
3279 }
3280
3281 #[test]
3283 fn test_114() {
3284 let params = crate::config::endpoint::Params::builder()
3285 .region("aws-global".to_string())
3286 .bucket("bucket!".to_string())
3287 .use_dual_stack(true)
3288 .use_fips(false)
3289 .accelerate(false)
3290 .build()
3291 .expect("invalid params");
3292 let resolver = crate::config::endpoint::DefaultResolver::new();
3293 let endpoint = resolver.resolve_endpoint(¶ms);
3294 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
3295 assert_eq!(
3296 endpoint,
3297 ::aws_smithy_types::endpoint::Endpoint::builder()
3298 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
3299 .property(
3300 "authSchemes",
3301 vec![::aws_smithy_types::Document::from({
3302 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3303 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3304 out.insert("name".to_string(), "sigv4".to_string().into());
3305 out.insert("signingName".to_string(), "s3".to_string().into());
3306 out.insert("disableDoubleEncoding".to_string(), true.into());
3307 out
3308 })]
3309 )
3310 .build()
3311 );
3312 }
3313
3314 #[test]
3316 fn test_115() {
3317 let params = crate::config::endpoint::Params::builder()
3318 .region("aws-global".to_string())
3319 .bucket("bucket!".to_string())
3320 .build()
3321 .expect("invalid params");
3322 let resolver = crate::config::endpoint::DefaultResolver::new();
3323 let endpoint = resolver.resolve_endpoint(¶ms);
3324 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
3325 assert_eq!(
3326 endpoint,
3327 ::aws_smithy_types::endpoint::Endpoint::builder()
3328 .url("https://s3.amazonaws.com/bucket%21")
3329 .property(
3330 "authSchemes",
3331 vec![::aws_smithy_types::Document::from({
3332 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3333 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3334 out.insert("name".to_string(), "sigv4".to_string().into());
3335 out.insert("signingName".to_string(), "s3".to_string().into());
3336 out.insert("disableDoubleEncoding".to_string(), true.into());
3337 out
3338 })]
3339 )
3340 .build()
3341 );
3342 }
3343
3344 #[test]
3346 fn test_116() {
3347 let params = crate::config::endpoint::Params::builder()
3348 .region("aws-global".to_string())
3349 .bucket("bucket!".to_string())
3350 .use_dual_stack(false)
3351 .use_fips(true)
3352 .accelerate(false)
3353 .endpoint("http://foo.com".to_string())
3354 .build()
3355 .expect("invalid params");
3356 let resolver = crate::config::endpoint::DefaultResolver::new();
3357 let endpoint = resolver.resolve_endpoint(¶ms);
3358 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + fips + custom endpoint]");
3359 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3360 }
3361
3362 #[test]
3364 fn test_117() {
3365 let params = crate::config::endpoint::Params::builder()
3366 .region("aws-global".to_string())
3367 .bucket("bucket!".to_string())
3368 .use_dual_stack(false)
3369 .use_fips(false)
3370 .accelerate(false)
3371 .endpoint("http://foo.com".to_string())
3372 .build()
3373 .expect("invalid params");
3374 let resolver = crate::config::endpoint::DefaultResolver::new();
3375 let endpoint = resolver.resolve_endpoint(¶ms);
3376 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
3377 assert_eq!(
3378 endpoint,
3379 ::aws_smithy_types::endpoint::Endpoint::builder()
3380 .url("http://foo.com/bucket%21")
3381 .property(
3382 "authSchemes",
3383 vec![::aws_smithy_types::Document::from({
3384 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3385 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3386 out.insert("name".to_string(), "sigv4".to_string().into());
3387 out.insert("signingName".to_string(), "s3".to_string().into());
3388 out.insert("disableDoubleEncoding".to_string(), true.into());
3389 out
3390 })]
3391 )
3392 .build()
3393 );
3394 }
3395
3396 #[test]
3398 fn test_118() {
3399 let params = crate::config::endpoint::Params::builder()
3400 .region("aws-global".to_string())
3401 .use_dual_stack(true)
3402 .use_fips(false)
3403 .accelerate(false)
3404 .endpoint("http://foo.com".to_string())
3405 .build()
3406 .expect("invalid params");
3407 let resolver = crate::config::endpoint::DefaultResolver::new();
3408 let endpoint = resolver.resolve_endpoint(¶ms);
3409 let error = endpoint
3410 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [aws-global + dualstack + custom endpoint]");
3411 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3412 }
3413
3414 #[test]
3416 fn test_119() {
3417 let params = crate::config::endpoint::Params::builder()
3418 .region("aws-global".to_string())
3419 .bucket("bucket".to_string())
3420 .use_dual_stack(true)
3421 .use_fips(false)
3422 .accelerate(true)
3423 .build()
3424 .expect("invalid params");
3425 let resolver = crate::config::endpoint::DefaultResolver::new();
3426 let endpoint = resolver.resolve_endpoint(¶ms);
3427 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com");
3428 assert_eq!(
3429 endpoint,
3430 ::aws_smithy_types::endpoint::Endpoint::builder()
3431 .url("https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com")
3432 .property(
3433 "authSchemes",
3434 vec![::aws_smithy_types::Document::from({
3435 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3436 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3437 out.insert("name".to_string(), "sigv4".to_string().into());
3438 out.insert("signingName".to_string(), "s3".to_string().into());
3439 out.insert("disableDoubleEncoding".to_string(), true.into());
3440 out
3441 })]
3442 )
3443 .build()
3444 );
3445 }
3446
3447 #[test]
3449 fn test_120() {
3450 let params = crate::config::endpoint::Params::builder()
3451 .region("aws-global".to_string())
3452 .bucket("bucket!".to_string())
3453 .force_path_style(true)
3454 .use_dual_stack(true)
3455 .use_fips(true)
3456 .accelerate(false)
3457 .build()
3458 .expect("invalid params");
3459 let resolver = crate::config::endpoint::DefaultResolver::new();
3460 let endpoint = resolver.resolve_endpoint(¶ms);
3461 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
3462 assert_eq!(
3463 endpoint,
3464 ::aws_smithy_types::endpoint::Endpoint::builder()
3465 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
3466 .property(
3467 "authSchemes",
3468 vec![::aws_smithy_types::Document::from({
3469 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3470 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3471 out.insert("name".to_string(), "sigv4".to_string().into());
3472 out.insert("signingName".to_string(), "s3".to_string().into());
3473 out.insert("disableDoubleEncoding".to_string(), true.into());
3474 out
3475 })]
3476 )
3477 .build()
3478 );
3479 }
3480
3481 #[test]
3483 fn test_121() {
3484 let params = crate::config::endpoint::Params::builder()
3485 .region("aws-global".to_string())
3486 .use_fips(true)
3487 .endpoint("http://foo.com".to_string())
3488 .build()
3489 .expect("invalid params");
3490 let resolver = crate::config::endpoint::DefaultResolver::new();
3491 let endpoint = resolver.resolve_endpoint(¶ms);
3492 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + FIPS + endpoint override.]");
3493 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3494 }
3495
3496 #[test]
3498 fn test_122() {
3499 let params = crate::config::endpoint::Params::builder()
3500 .region("aws-global".to_string())
3501 .bucket("bucket!".to_string())
3502 .force_path_style(true)
3503 .use_fips(true)
3504 .endpoint("http://foo.com".to_string())
3505 .build()
3506 .expect("invalid params");
3507 let resolver = crate::config::endpoint::DefaultResolver::new();
3508 let endpoint = resolver.resolve_endpoint(¶ms);
3509 let error = endpoint
3510 .expect_err("expected error: A custom endpoint cannot be combined with FIPS [force path style, FIPS, aws-global & endpoint override]");
3511 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3512 }
3513
3514 #[test]
3516 fn test_123() {
3517 let params = crate::config::endpoint::Params::builder()
3518 .region("aws-global".to_string())
3519 .bucket("bucket".to_string())
3520 .endpoint("http://192.168.1.1".to_string())
3521 .build()
3522 .expect("invalid params");
3523 let resolver = crate::config::endpoint::DefaultResolver::new();
3524 let endpoint = resolver.resolve_endpoint(¶ms);
3525 let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.1.1/bucket");
3526 assert_eq!(
3527 endpoint,
3528 ::aws_smithy_types::endpoint::Endpoint::builder()
3529 .url("http://192.168.1.1/bucket")
3530 .property(
3531 "authSchemes",
3532 vec![::aws_smithy_types::Document::from({
3533 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3534 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3535 out.insert("name".to_string(), "sigv4".to_string().into());
3536 out.insert("signingName".to_string(), "s3".to_string().into());
3537 out.insert("disableDoubleEncoding".to_string(), true.into());
3538 out
3539 })]
3540 )
3541 .build()
3542 );
3543 }
3544
3545 #[test]
3547 fn test_124() {
3548 let params = crate::config::endpoint::Params::builder()
3549 .region("aws-global".to_string())
3550 .use_fips(true)
3551 .use_dual_stack(true)
3552 .endpoint("http://foo.com".to_string())
3553 .build()
3554 .expect("invalid params");
3555 let resolver = crate::config::endpoint::DefaultResolver::new();
3556 let endpoint = resolver.resolve_endpoint(¶ms);
3557 let error = endpoint
3558 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [endpoint override with aws-global region]");
3559 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3560 }
3561
3562 #[test]
3564 fn test_125() {
3565 let params = crate::config::endpoint::Params::builder()
3566 .region("aws-global".to_string())
3567 .bucket("bucket!".to_string())
3568 .use_fips(true)
3569 .build()
3570 .expect("invalid params");
3571 let resolver = crate::config::endpoint::DefaultResolver::new();
3572 let endpoint = resolver.resolve_endpoint(¶ms);
3573 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
3574 assert_eq!(
3575 endpoint,
3576 ::aws_smithy_types::endpoint::Endpoint::builder()
3577 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
3578 .property(
3579 "authSchemes",
3580 vec![::aws_smithy_types::Document::from({
3581 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3582 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3583 out.insert("name".to_string(), "sigv4".to_string().into());
3584 out.insert("signingName".to_string(), "s3".to_string().into());
3585 out.insert("disableDoubleEncoding".to_string(), true.into());
3586 out
3587 })]
3588 )
3589 .build()
3590 );
3591 }
3592
3593 #[test]
3595 fn test_126() {
3596 let params = crate::config::endpoint::Params::builder()
3597 .region("us-east-2".to_string())
3598 .bucket("arn:aws:not-s3:us-west-2:123456789012::myendpoint".to_string())
3599 .build()
3600 .expect("invalid params");
3601 let resolver = crate::config::endpoint::DefaultResolver::new();
3602 let endpoint = resolver.resolve_endpoint(¶ms);
3603 let error = endpoint.expect_err("expected error: Invalid ARN: No ARN type specified [empty arn type]");
3604 assert_eq!(format!("{}", error), "Invalid ARN: No ARN type specified")
3605 }
3606
3607 #[test]
3609 fn test_127() {
3610 let params = crate::config::endpoint::Params::builder()
3611 .region("us-east-2".to_string())
3612 .bucket("bucket!".to_string())
3613 .accelerate(true)
3614 .build()
3615 .expect("invalid params");
3616 let resolver = crate::config::endpoint::DefaultResolver::new();
3617 let endpoint = resolver.resolve_endpoint(¶ms);
3618 let error =
3619 endpoint.expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style can't be used with accelerate]");
3620 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
3621 }
3622
3623 #[test]
3625 fn test_128() {
3626 let params = crate::config::endpoint::Params::builder()
3627 .region("us-east-2!".to_string())
3628 .bucket("bucket.subdomain".to_string())
3629 .endpoint("http://foo.com".to_string())
3630 .build()
3631 .expect("invalid params");
3632 let resolver = crate::config::endpoint::DefaultResolver::new();
3633 let endpoint = resolver.resolve_endpoint(¶ms);
3634 let error = endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [invalid region]");
3635 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
3636 }
3637
3638 #[test]
3640 fn test_129() {
3641 let params = crate::config::endpoint::Params::builder()
3642 .region("us-east-2!".to_string())
3643 .bucket("bucket".to_string())
3644 .endpoint("http://foo.com".to_string())
3645 .build()
3646 .expect("invalid params");
3647 let resolver = crate::config::endpoint::DefaultResolver::new();
3648 let endpoint = resolver.resolve_endpoint(¶ms);
3649 let error = endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [invalid region]");
3650 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
3651 }
3652
3653 #[test]
3655 fn test_130() {
3656 let params = crate::config::endpoint::Params::builder()
3657 .region("us-east-2".to_string())
3658 .bucket("arn:aws:s3::123456789012:accesspoint:my_endpoint".to_string())
3659 .build()
3660 .expect("invalid params");
3661 let resolver = crate::config::endpoint::DefaultResolver::new();
3662 let endpoint = resolver.resolve_endpoint(¶ms);
3663 let error = endpoint.expect_err("expected error: Invalid Access Point Name [empty arn type]");
3664 assert_eq!(format!("{}", error), "Invalid Access Point Name")
3665 }
3666
3667 #[test]
3669 fn test_131() {
3670 let params = crate::config::endpoint::Params::builder()
3671 .region("us-east-2".to_string())
3672 .bucket("arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint".to_string())
3673 .use_arn_region(true)
3674 .build()
3675 .expect("invalid params");
3676 let resolver = crate::config::endpoint::DefaultResolver::new();
3677 let endpoint = resolver.resolve_endpoint(¶ms);
3678 let error = endpoint.expect_err("expected error: Client was configured for partition `aws` but ARN (`arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint`) has `aws-cn` [empty arn type]");
3679 assert_eq!(
3680 format!("{}", error),
3681 "Client was configured for partition `aws` but ARN (`arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint`) has `aws-cn`"
3682 )
3683 }
3684
3685 #[test]
3687 fn test_132() {
3688 let params = crate::config::endpoint::Params::builder()
3689 .region("us-east-2".to_string())
3690 .bucket("arn:aws:s3-object-lambda:us-east_2:123456789012:accesspoint:my-endpoint".to_string())
3691 .use_arn_region(true)
3692 .build()
3693 .expect("invalid params");
3694 let resolver = crate::config::endpoint::DefaultResolver::new();
3695 let endpoint = resolver.resolve_endpoint(¶ms);
3696 let error = endpoint.expect_err("expected error: Invalid region in ARN: `us-east_2` (invalid DNS name) [invalid arn region]");
3697 assert_eq!(format!("{}", error), "Invalid region in ARN: `us-east_2` (invalid DNS name)")
3698 }
3699
3700 #[test]
3702 fn test_133() {
3703 let params = crate::config::endpoint::Params::builder()
3704 .region("us-east-2".to_string())
3705 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op_01234567890123456/accesspoint/reports".to_string())
3706 .use_arn_region(true)
3707 .build()
3708 .expect("invalid params");
3709 let resolver = crate::config::endpoint::DefaultResolver::new();
3710 let endpoint = resolver.resolve_endpoint(¶ms);
3711 let error = endpoint.expect_err(
3712 "expected error: Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456` [invalid ARN outpost]",
3713 );
3714 assert_eq!(
3715 format!("{}", error),
3716 "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456`"
3717 )
3718 }
3719
3720 #[test]
3722 fn test_134() {
3723 let params = crate::config::endpoint::Params::builder()
3724 .region("us-east-2".to_string())
3725 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/reports".to_string())
3726 .build()
3727 .expect("invalid params");
3728 let resolver = crate::config::endpoint::DefaultResolver::new();
3729 let endpoint = resolver.resolve_endpoint(¶ms);
3730 let error = endpoint.expect_err("expected error: Invalid ARN: expected an access point name [invalid ARN]");
3731 assert_eq!(format!("{}", error), "Invalid ARN: expected an access point name")
3732 }
3733
3734 #[test]
3736 fn test_135() {
3737 let params = crate::config::endpoint::Params::builder()
3738 .region("us-east-2".to_string())
3739 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456".to_string())
3740 .build()
3741 .expect("invalid params");
3742 let resolver = crate::config::endpoint::DefaultResolver::new();
3743 let endpoint = resolver.resolve_endpoint(¶ms);
3744 let error = endpoint.expect_err("expected error: Invalid ARN: Expected a 4-component resource [invalid ARN]");
3745 assert_eq!(format!("{}", error), "Invalid ARN: Expected a 4-component resource")
3746 }
3747
3748 #[test]
3750 fn test_136() {
3751 let params = crate::config::endpoint::Params::builder()
3752 .region("us-east-2".to_string())
3753 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports".to_string())
3754 .build()
3755 .expect("invalid params");
3756 let resolver = crate::config::endpoint::DefaultResolver::new();
3757 let endpoint = resolver.resolve_endpoint(¶ms);
3758 let error = endpoint.expect_err("expected error: Expected an outpost type `accesspoint`, found not-accesspoint [invalid outpost type]");
3759 assert_eq!(format!("{}", error), "Expected an outpost type `accesspoint`, found not-accesspoint")
3760 }
3761
3762 #[test]
3764 fn test_137() {
3765 let params = crate::config::endpoint::Params::builder()
3766 .region("us-east-2".to_string())
3767 .bucket("arn:aws:s3-outposts:us-east_1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports".to_string())
3768 .build()
3769 .expect("invalid params");
3770 let resolver = crate::config::endpoint::DefaultResolver::new();
3771 let endpoint = resolver.resolve_endpoint(¶ms);
3772 let error = endpoint.expect_err("expected error: Invalid region in ARN: `us-east_1` (invalid DNS name) [invalid outpost type]");
3773 assert_eq!(format!("{}", error), "Invalid region in ARN: `us-east_1` (invalid DNS name)")
3774 }
3775
3776 #[test]
3778 fn test_138() {
3779 let params = crate::config::endpoint::Params::builder()
3780 .region("us-east-2".to_string())
3781 .bucket("arn:aws:s3-outposts:us-east-1:12345_789012:outpost/op-01234567890123456/not-accesspoint/reports".to_string())
3782 .build()
3783 .expect("invalid params");
3784 let resolver = crate::config::endpoint::DefaultResolver::new();
3785 let endpoint = resolver.resolve_endpoint(¶ms);
3786 let error = endpoint.expect_err(
3787 "expected error: Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012` [invalid outpost type]",
3788 );
3789 assert_eq!(
3790 format!("{}", error),
3791 "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012`"
3792 )
3793 }
3794
3795 #[test]
3797 fn test_139() {
3798 let params = crate::config::endpoint::Params::builder()
3799 .region("us-east-2".to_string())
3800 .bucket("arn:aws:s3-outposts:us-east-1:12345789012:outpost".to_string())
3801 .build()
3802 .expect("invalid params");
3803 let resolver = crate::config::endpoint::DefaultResolver::new();
3804 let endpoint = resolver.resolve_endpoint(¶ms);
3805 let error = endpoint.expect_err("expected error: Invalid ARN: The Outpost Id was not set [invalid outpost type]");
3806 assert_eq!(format!("{}", error), "Invalid ARN: The Outpost Id was not set")
3807 }
3808
3809 #[test]
3811 fn test_140() {
3812 let params = crate::config::endpoint::Params::builder()
3813 .region("us-east-2".to_string())
3814 .bucket("bucket".to_string())
3815 .endpoint("http://example.com".to_string())
3816 .use_global_endpoint(true)
3817 .build()
3818 .expect("invalid params");
3819 let resolver = crate::config::endpoint::DefaultResolver::new();
3820 let endpoint = resolver.resolve_endpoint(¶ms);
3821 let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.example.com");
3822 assert_eq!(
3823 endpoint,
3824 ::aws_smithy_types::endpoint::Endpoint::builder()
3825 .url("http://bucket.example.com")
3826 .property(
3827 "authSchemes",
3828 vec![::aws_smithy_types::Document::from({
3829 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3830 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3831 out.insert("name".to_string(), "sigv4".to_string().into());
3832 out.insert("signingName".to_string(), "s3".to_string().into());
3833 out.insert("disableDoubleEncoding".to_string(), true.into());
3834 out
3835 })]
3836 )
3837 .build()
3838 );
3839 }
3840
3841 #[test]
3843 fn test_141() {
3844 let params = crate::config::endpoint::Params::builder()
3845 .region("us-east-2".to_string())
3846 .bucket("bucket".to_string())
3847 .endpoint("http://192.168.0.1".to_string())
3848 .use_global_endpoint(true)
3849 .build()
3850 .expect("invalid params");
3851 let resolver = crate::config::endpoint::DefaultResolver::new();
3852 let endpoint = resolver.resolve_endpoint(¶ms);
3853 let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.0.1/bucket");
3854 assert_eq!(
3855 endpoint,
3856 ::aws_smithy_types::endpoint::Endpoint::builder()
3857 .url("http://192.168.0.1/bucket")
3858 .property(
3859 "authSchemes",
3860 vec![::aws_smithy_types::Document::from({
3861 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3862 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3863 out.insert("name".to_string(), "sigv4".to_string().into());
3864 out.insert("signingName".to_string(), "s3".to_string().into());
3865 out.insert("disableDoubleEncoding".to_string(), true.into());
3866 out
3867 })]
3868 )
3869 .build()
3870 );
3871 }
3872
3873 #[test]
3875 fn test_142() {
3876 let params = crate::config::endpoint::Params::builder()
3877 .region("us-east-2".to_string())
3878 .bucket("bucket!".to_string())
3879 .use_global_endpoint(true)
3880 .build()
3881 .expect("invalid params");
3882 let resolver = crate::config::endpoint::DefaultResolver::new();
3883 let endpoint = resolver.resolve_endpoint(¶ms);
3884 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-2.amazonaws.com/bucket%21");
3885 assert_eq!(
3886 endpoint,
3887 ::aws_smithy_types::endpoint::Endpoint::builder()
3888 .url("https://s3.us-east-2.amazonaws.com/bucket%21")
3889 .property(
3890 "authSchemes",
3891 vec![::aws_smithy_types::Document::from({
3892 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3893 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3894 out.insert("name".to_string(), "sigv4".to_string().into());
3895 out.insert("signingName".to_string(), "s3".to_string().into());
3896 out.insert("disableDoubleEncoding".to_string(), true.into());
3897 out
3898 })]
3899 )
3900 .build()
3901 );
3902 }
3903
3904 #[test]
3906 fn test_143() {
3907 let params = crate::config::endpoint::Params::builder()
3908 .region("us-east-2".to_string())
3909 .bucket("bucket".to_string())
3910 .accelerate(true)
3911 .use_global_endpoint(true)
3912 .build()
3913 .expect("invalid params");
3914 let resolver = crate::config::endpoint::DefaultResolver::new();
3915 let endpoint = resolver.resolve_endpoint(¶ms);
3916 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.amazonaws.com");
3917 assert_eq!(
3918 endpoint,
3919 ::aws_smithy_types::endpoint::Endpoint::builder()
3920 .url("https://bucket.s3-accelerate.amazonaws.com")
3921 .property(
3922 "authSchemes",
3923 vec![::aws_smithy_types::Document::from({
3924 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3925 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3926 out.insert("name".to_string(), "sigv4".to_string().into());
3927 out.insert("signingName".to_string(), "s3".to_string().into());
3928 out.insert("disableDoubleEncoding".to_string(), true.into());
3929 out
3930 })]
3931 )
3932 .build()
3933 );
3934 }
3935
3936 #[test]
3938 fn test_144() {
3939 let params = crate::config::endpoint::Params::builder()
3940 .region("us-east-2".to_string())
3941 .bucket("bucket!".to_string())
3942 .use_global_endpoint(true)
3943 .endpoint("http://foo.com".to_string())
3944 .build()
3945 .expect("invalid params");
3946 let resolver = crate::config::endpoint::DefaultResolver::new();
3947 let endpoint = resolver.resolve_endpoint(¶ms);
3948 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
3949 assert_eq!(
3950 endpoint,
3951 ::aws_smithy_types::endpoint::Endpoint::builder()
3952 .url("http://foo.com/bucket%21")
3953 .property(
3954 "authSchemes",
3955 vec![::aws_smithy_types::Document::from({
3956 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3957 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3958 out.insert("name".to_string(), "sigv4".to_string().into());
3959 out.insert("signingName".to_string(), "s3".to_string().into());
3960 out.insert("disableDoubleEncoding".to_string(), true.into());
3961 out
3962 })]
3963 )
3964 .build()
3965 );
3966 }
3967
3968 #[test]
3970 fn test_145() {
3971 let params = crate::config::endpoint::Params::builder()
3972 .region("us-east-2".to_string())
3973 .bucket("bucket!".to_string())
3974 .use_global_endpoint(true)
3975 .force_path_style(true)
3976 .endpoint("http://foo.com".to_string())
3977 .build()
3978 .expect("invalid params");
3979 let resolver = crate::config::endpoint::DefaultResolver::new();
3980 let endpoint = resolver.resolve_endpoint(¶ms);
3981 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
3982 assert_eq!(
3983 endpoint,
3984 ::aws_smithy_types::endpoint::Endpoint::builder()
3985 .url("http://foo.com/bucket%21")
3986 .property(
3987 "authSchemes",
3988 vec![::aws_smithy_types::Document::from({
3989 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3990 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3991 out.insert("name".to_string(), "sigv4".to_string().into());
3992 out.insert("signingName".to_string(), "s3".to_string().into());
3993 out.insert("disableDoubleEncoding".to_string(), true.into());
3994 out
3995 })]
3996 )
3997 .build()
3998 );
3999 }
4000
4001 #[test]
4003 fn test_146() {
4004 let params = crate::config::endpoint::Params::builder()
4005 .accelerate(false)
4006 .bucket("bucket-name".to_string())
4007 .force_path_style(false)
4008 .region("us-west-2".to_string())
4009 .use_dual_stack(false)
4010 .use_fips(false)
4011 .build()
4012 .expect("invalid params");
4013 let resolver = crate::config::endpoint::DefaultResolver::new();
4014 let endpoint = resolver.resolve_endpoint(¶ms);
4015 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.us-west-2.amazonaws.com");
4016 assert_eq!(
4017 endpoint,
4018 ::aws_smithy_types::endpoint::Endpoint::builder()
4019 .url("https://bucket-name.s3.us-west-2.amazonaws.com")
4020 .property(
4021 "authSchemes",
4022 vec![::aws_smithy_types::Document::from({
4023 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4024 out.insert("name".to_string(), "sigv4".to_string().into());
4025 out.insert("signingName".to_string(), "s3".to_string().into());
4026 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4027 out.insert("disableDoubleEncoding".to_string(), true.into());
4028 out
4029 })]
4030 )
4031 .build()
4032 );
4033 }
4034
4035 #[test]
4037 fn test_147() {
4038 let params = crate::config::endpoint::Params::builder()
4039 .accelerate(false)
4040 .bucket("bucket-name".to_string())
4041 .force_path_style(false)
4042 .region("us-west-2".to_string())
4043 .use_dual_stack(true)
4044 .use_fips(false)
4045 .build()
4046 .expect("invalid params");
4047 let resolver = crate::config::endpoint::DefaultResolver::new();
4048 let endpoint = resolver.resolve_endpoint(¶ms);
4049 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-west-2.amazonaws.com");
4050 assert_eq!(
4051 endpoint,
4052 ::aws_smithy_types::endpoint::Endpoint::builder()
4053 .url("https://bucket-name.s3.dualstack.us-west-2.amazonaws.com")
4054 .property(
4055 "authSchemes",
4056 vec![::aws_smithy_types::Document::from({
4057 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4058 out.insert("name".to_string(), "sigv4".to_string().into());
4059 out.insert("signingName".to_string(), "s3".to_string().into());
4060 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4061 out.insert("disableDoubleEncoding".to_string(), true.into());
4062 out
4063 })]
4064 )
4065 .build()
4066 );
4067 }
4068
4069 #[test]
4071 fn test_148() {
4072 let params = crate::config::endpoint::Params::builder()
4073 .accelerate(true)
4074 .bucket("bucket-name".to_string())
4075 .force_path_style(false)
4076 .region("us-west-2".to_string())
4077 .use_dual_stack(true)
4078 .use_fips(false)
4079 .build()
4080 .expect("invalid params");
4081 let resolver = crate::config::endpoint::DefaultResolver::new();
4082 let endpoint = resolver.resolve_endpoint(¶ms);
4083 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.dualstack.amazonaws.com");
4084 assert_eq!(
4085 endpoint,
4086 ::aws_smithy_types::endpoint::Endpoint::builder()
4087 .url("https://bucket-name.s3-accelerate.dualstack.amazonaws.com")
4088 .property(
4089 "authSchemes",
4090 vec![::aws_smithy_types::Document::from({
4091 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4092 out.insert("name".to_string(), "sigv4".to_string().into());
4093 out.insert("signingName".to_string(), "s3".to_string().into());
4094 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4095 out.insert("disableDoubleEncoding".to_string(), true.into());
4096 out
4097 })]
4098 )
4099 .build()
4100 );
4101 }
4102
4103 #[test]
4105 fn test_149() {
4106 let params = crate::config::endpoint::Params::builder()
4107 .accelerate(true)
4108 .bucket("bucket-name".to_string())
4109 .force_path_style(false)
4110 .region("us-west-2".to_string())
4111 .use_dual_stack(false)
4112 .use_fips(false)
4113 .build()
4114 .expect("invalid params");
4115 let resolver = crate::config::endpoint::DefaultResolver::new();
4116 let endpoint = resolver.resolve_endpoint(¶ms);
4117 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
4118 assert_eq!(
4119 endpoint,
4120 ::aws_smithy_types::endpoint::Endpoint::builder()
4121 .url("https://bucket-name.s3-accelerate.amazonaws.com")
4122 .property(
4123 "authSchemes",
4124 vec![::aws_smithy_types::Document::from({
4125 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4126 out.insert("name".to_string(), "sigv4".to_string().into());
4127 out.insert("signingName".to_string(), "s3".to_string().into());
4128 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4129 out.insert("disableDoubleEncoding".to_string(), true.into());
4130 out
4131 })]
4132 )
4133 .build()
4134 );
4135 }
4136
4137 #[test]
4139 fn test_150() {
4140 let params = crate::config::endpoint::Params::builder()
4141 .accelerate(false)
4142 .bucket("bucket-name".to_string())
4143 .force_path_style(false)
4144 .region("us-west-2".to_string())
4145 .use_dual_stack(false)
4146 .use_fips(true)
4147 .build()
4148 .expect("invalid params");
4149 let resolver = crate::config::endpoint::DefaultResolver::new();
4150 let endpoint = resolver.resolve_endpoint(¶ms);
4151 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-west-2.amazonaws.com");
4152 assert_eq!(
4153 endpoint,
4154 ::aws_smithy_types::endpoint::Endpoint::builder()
4155 .url("https://bucket-name.s3-fips.us-west-2.amazonaws.com")
4156 .property(
4157 "authSchemes",
4158 vec![::aws_smithy_types::Document::from({
4159 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4160 out.insert("name".to_string(), "sigv4".to_string().into());
4161 out.insert("signingName".to_string(), "s3".to_string().into());
4162 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4163 out.insert("disableDoubleEncoding".to_string(), true.into());
4164 out
4165 })]
4166 )
4167 .build()
4168 );
4169 }
4170
4171 #[test]
4173 fn test_151() {
4174 let params = crate::config::endpoint::Params::builder()
4175 .accelerate(false)
4176 .bucket("bucket-name".to_string())
4177 .force_path_style(false)
4178 .region("us-west-2".to_string())
4179 .use_dual_stack(true)
4180 .use_fips(true)
4181 .build()
4182 .expect("invalid params");
4183 let resolver = crate::config::endpoint::DefaultResolver::new();
4184 let endpoint = resolver.resolve_endpoint(¶ms);
4185 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com");
4186 assert_eq!(
4187 endpoint,
4188 ::aws_smithy_types::endpoint::Endpoint::builder()
4189 .url("https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com")
4190 .property(
4191 "authSchemes",
4192 vec![::aws_smithy_types::Document::from({
4193 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4194 out.insert("name".to_string(), "sigv4".to_string().into());
4195 out.insert("signingName".to_string(), "s3".to_string().into());
4196 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4197 out.insert("disableDoubleEncoding".to_string(), true.into());
4198 out
4199 })]
4200 )
4201 .build()
4202 );
4203 }
4204
4205 #[test]
4207 fn test_152() {
4208 let params = crate::config::endpoint::Params::builder()
4209 .accelerate(true)
4210 .bucket("bucket-name".to_string())
4211 .force_path_style(false)
4212 .region("us-west-2".to_string())
4213 .use_dual_stack(false)
4214 .use_fips(true)
4215 .build()
4216 .expect("invalid params");
4217 let resolver = crate::config::endpoint::DefaultResolver::new();
4218 let endpoint = resolver.resolve_endpoint(¶ms);
4219 let error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@us-west-2]");
4220 assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
4221 }
4222
4223 #[test]
4225 fn test_153() {
4226 let params = crate::config::endpoint::Params::builder()
4227 .accelerate(false)
4228 .bucket("bucket-name".to_string())
4229 .force_path_style(false)
4230 .region("cn-north-1".to_string())
4231 .use_dual_stack(false)
4232 .use_fips(false)
4233 .build()
4234 .expect("invalid params");
4235 let resolver = crate::config::endpoint::DefaultResolver::new();
4236 let endpoint = resolver.resolve_endpoint(¶ms);
4237 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.cn-north-1.amazonaws.com.cn");
4238 assert_eq!(
4239 endpoint,
4240 ::aws_smithy_types::endpoint::Endpoint::builder()
4241 .url("https://bucket-name.s3.cn-north-1.amazonaws.com.cn")
4242 .property(
4243 "authSchemes",
4244 vec![::aws_smithy_types::Document::from({
4245 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4246 out.insert("name".to_string(), "sigv4".to_string().into());
4247 out.insert("signingName".to_string(), "s3".to_string().into());
4248 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4249 out.insert("disableDoubleEncoding".to_string(), true.into());
4250 out
4251 })]
4252 )
4253 .build()
4254 );
4255 }
4256
4257 #[test]
4259 fn test_154() {
4260 let params = crate::config::endpoint::Params::builder()
4261 .accelerate(false)
4262 .bucket("bucket-name".to_string())
4263 .force_path_style(false)
4264 .region("cn-north-1".to_string())
4265 .use_dual_stack(true)
4266 .use_fips(false)
4267 .build()
4268 .expect("invalid params");
4269 let resolver = crate::config::endpoint::DefaultResolver::new();
4270 let endpoint = resolver.resolve_endpoint(¶ms);
4271 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn");
4272 assert_eq!(
4273 endpoint,
4274 ::aws_smithy_types::endpoint::Endpoint::builder()
4275 .url("https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn")
4276 .property(
4277 "authSchemes",
4278 vec![::aws_smithy_types::Document::from({
4279 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4280 out.insert("name".to_string(), "sigv4".to_string().into());
4281 out.insert("signingName".to_string(), "s3".to_string().into());
4282 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4283 out.insert("disableDoubleEncoding".to_string(), true.into());
4284 out
4285 })]
4286 )
4287 .build()
4288 );
4289 }
4290
4291 #[test]
4293 fn test_155() {
4294 let params = crate::config::endpoint::Params::builder()
4295 .accelerate(true)
4296 .bucket("bucket-name".to_string())
4297 .force_path_style(false)
4298 .region("cn-north-1".to_string())
4299 .use_dual_stack(false)
4300 .use_fips(false)
4301 .build()
4302 .expect("invalid params");
4303 let resolver = crate::config::endpoint::DefaultResolver::new();
4304 let endpoint = resolver.resolve_endpoint(¶ms);
4305 let error = endpoint.expect_err("expected error: S3 Accelerate cannot be used in this region [accelerate (dualstack=false)@cn-north-1]");
4306 assert_eq!(format!("{}", error), "S3 Accelerate cannot be used in this region")
4307 }
4308
4309 #[test]
4311 fn test_156() {
4312 let params = crate::config::endpoint::Params::builder()
4313 .accelerate(false)
4314 .bucket("bucket-name".to_string())
4315 .force_path_style(false)
4316 .region("cn-north-1".to_string())
4317 .use_dual_stack(false)
4318 .use_fips(true)
4319 .build()
4320 .expect("invalid params");
4321 let resolver = crate::config::endpoint::DefaultResolver::new();
4322 let endpoint = resolver.resolve_endpoint(¶ms);
4323 let error = endpoint.expect_err("expected error: Partition does not support FIPS [virtual addressing + fips@cn-north-1]");
4324 assert_eq!(format!("{}", error), "Partition does not support FIPS")
4325 }
4326
4327 #[test]
4329 fn test_157() {
4330 let params = crate::config::endpoint::Params::builder()
4331 .accelerate(false)
4332 .bucket("bucket-name".to_string())
4333 .force_path_style(false)
4334 .region("af-south-1".to_string())
4335 .use_dual_stack(false)
4336 .use_fips(false)
4337 .build()
4338 .expect("invalid params");
4339 let resolver = crate::config::endpoint::DefaultResolver::new();
4340 let endpoint = resolver.resolve_endpoint(¶ms);
4341 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.af-south-1.amazonaws.com");
4342 assert_eq!(
4343 endpoint,
4344 ::aws_smithy_types::endpoint::Endpoint::builder()
4345 .url("https://bucket-name.s3.af-south-1.amazonaws.com")
4346 .property(
4347 "authSchemes",
4348 vec![::aws_smithy_types::Document::from({
4349 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4350 out.insert("name".to_string(), "sigv4".to_string().into());
4351 out.insert("signingName".to_string(), "s3".to_string().into());
4352 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4353 out.insert("disableDoubleEncoding".to_string(), true.into());
4354 out
4355 })]
4356 )
4357 .build()
4358 );
4359 }
4360
4361 #[test]
4363 fn test_158() {
4364 let params = crate::config::endpoint::Params::builder()
4365 .accelerate(false)
4366 .bucket("bucket-name".to_string())
4367 .force_path_style(false)
4368 .region("af-south-1".to_string())
4369 .use_dual_stack(true)
4370 .use_fips(false)
4371 .build()
4372 .expect("invalid params");
4373 let resolver = crate::config::endpoint::DefaultResolver::new();
4374 let endpoint = resolver.resolve_endpoint(¶ms);
4375 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.af-south-1.amazonaws.com");
4376 assert_eq!(
4377 endpoint,
4378 ::aws_smithy_types::endpoint::Endpoint::builder()
4379 .url("https://bucket-name.s3.dualstack.af-south-1.amazonaws.com")
4380 .property(
4381 "authSchemes",
4382 vec![::aws_smithy_types::Document::from({
4383 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4384 out.insert("name".to_string(), "sigv4".to_string().into());
4385 out.insert("signingName".to_string(), "s3".to_string().into());
4386 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4387 out.insert("disableDoubleEncoding".to_string(), true.into());
4388 out
4389 })]
4390 )
4391 .build()
4392 );
4393 }
4394
4395 #[test]
4397 fn test_159() {
4398 let params = crate::config::endpoint::Params::builder()
4399 .accelerate(true)
4400 .bucket("bucket-name".to_string())
4401 .force_path_style(false)
4402 .region("af-south-1".to_string())
4403 .use_dual_stack(true)
4404 .use_fips(false)
4405 .build()
4406 .expect("invalid params");
4407 let resolver = crate::config::endpoint::DefaultResolver::new();
4408 let endpoint = resolver.resolve_endpoint(¶ms);
4409 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.dualstack.amazonaws.com");
4410 assert_eq!(
4411 endpoint,
4412 ::aws_smithy_types::endpoint::Endpoint::builder()
4413 .url("https://bucket-name.s3-accelerate.dualstack.amazonaws.com")
4414 .property(
4415 "authSchemes",
4416 vec![::aws_smithy_types::Document::from({
4417 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4418 out.insert("name".to_string(), "sigv4".to_string().into());
4419 out.insert("signingName".to_string(), "s3".to_string().into());
4420 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4421 out.insert("disableDoubleEncoding".to_string(), true.into());
4422 out
4423 })]
4424 )
4425 .build()
4426 );
4427 }
4428
4429 #[test]
4431 fn test_160() {
4432 let params = crate::config::endpoint::Params::builder()
4433 .accelerate(true)
4434 .bucket("bucket-name".to_string())
4435 .force_path_style(false)
4436 .region("af-south-1".to_string())
4437 .use_dual_stack(false)
4438 .use_fips(false)
4439 .build()
4440 .expect("invalid params");
4441 let resolver = crate::config::endpoint::DefaultResolver::new();
4442 let endpoint = resolver.resolve_endpoint(¶ms);
4443 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
4444 assert_eq!(
4445 endpoint,
4446 ::aws_smithy_types::endpoint::Endpoint::builder()
4447 .url("https://bucket-name.s3-accelerate.amazonaws.com")
4448 .property(
4449 "authSchemes",
4450 vec![::aws_smithy_types::Document::from({
4451 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4452 out.insert("name".to_string(), "sigv4".to_string().into());
4453 out.insert("signingName".to_string(), "s3".to_string().into());
4454 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4455 out.insert("disableDoubleEncoding".to_string(), true.into());
4456 out
4457 })]
4458 )
4459 .build()
4460 );
4461 }
4462
4463 #[test]
4465 fn test_161() {
4466 let params = crate::config::endpoint::Params::builder()
4467 .accelerate(false)
4468 .bucket("bucket-name".to_string())
4469 .force_path_style(false)
4470 .region("af-south-1".to_string())
4471 .use_dual_stack(false)
4472 .use_fips(true)
4473 .build()
4474 .expect("invalid params");
4475 let resolver = crate::config::endpoint::DefaultResolver::new();
4476 let endpoint = resolver.resolve_endpoint(¶ms);
4477 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.af-south-1.amazonaws.com");
4478 assert_eq!(
4479 endpoint,
4480 ::aws_smithy_types::endpoint::Endpoint::builder()
4481 .url("https://bucket-name.s3-fips.af-south-1.amazonaws.com")
4482 .property(
4483 "authSchemes",
4484 vec![::aws_smithy_types::Document::from({
4485 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4486 out.insert("name".to_string(), "sigv4".to_string().into());
4487 out.insert("signingName".to_string(), "s3".to_string().into());
4488 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4489 out.insert("disableDoubleEncoding".to_string(), true.into());
4490 out
4491 })]
4492 )
4493 .build()
4494 );
4495 }
4496
4497 #[test]
4499 fn test_162() {
4500 let params = crate::config::endpoint::Params::builder()
4501 .accelerate(false)
4502 .bucket("bucket-name".to_string())
4503 .force_path_style(false)
4504 .region("af-south-1".to_string())
4505 .use_dual_stack(true)
4506 .use_fips(true)
4507 .build()
4508 .expect("invalid params");
4509 let resolver = crate::config::endpoint::DefaultResolver::new();
4510 let endpoint = resolver.resolve_endpoint(¶ms);
4511 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com");
4512 assert_eq!(
4513 endpoint,
4514 ::aws_smithy_types::endpoint::Endpoint::builder()
4515 .url("https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com")
4516 .property(
4517 "authSchemes",
4518 vec![::aws_smithy_types::Document::from({
4519 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4520 out.insert("name".to_string(), "sigv4".to_string().into());
4521 out.insert("signingName".to_string(), "s3".to_string().into());
4522 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4523 out.insert("disableDoubleEncoding".to_string(), true.into());
4524 out
4525 })]
4526 )
4527 .build()
4528 );
4529 }
4530
4531 #[test]
4533 fn test_163() {
4534 let params = crate::config::endpoint::Params::builder()
4535 .accelerate(true)
4536 .bucket("bucket-name".to_string())
4537 .force_path_style(false)
4538 .region("af-south-1".to_string())
4539 .use_dual_stack(false)
4540 .use_fips(true)
4541 .build()
4542 .expect("invalid params");
4543 let resolver = crate::config::endpoint::DefaultResolver::new();
4544 let endpoint = resolver.resolve_endpoint(¶ms);
4545 let error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@af-south-1]");
4546 assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
4547 }
4548
4549 #[test]
4551 fn test_164() {
4552 let params = crate::config::endpoint::Params::builder()
4553 .accelerate(false)
4554 .bucket("bucket-name".to_string())
4555 .force_path_style(true)
4556 .region("us-west-2".to_string())
4557 .use_dual_stack(false)
4558 .use_fips(false)
4559 .build()
4560 .expect("invalid params");
4561 let resolver = crate::config::endpoint::DefaultResolver::new();
4562 let endpoint = resolver.resolve_endpoint(¶ms);
4563 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
4564 assert_eq!(
4565 endpoint,
4566 ::aws_smithy_types::endpoint::Endpoint::builder()
4567 .url("https://s3.us-west-2.amazonaws.com/bucket-name")
4568 .property(
4569 "authSchemes",
4570 vec![::aws_smithy_types::Document::from({
4571 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4572 out.insert("name".to_string(), "sigv4".to_string().into());
4573 out.insert("signingName".to_string(), "s3".to_string().into());
4574 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4575 out.insert("disableDoubleEncoding".to_string(), true.into());
4576 out
4577 })]
4578 )
4579 .build()
4580 );
4581 }
4582
4583 #[test]
4585 fn test_165() {
4586 let params = crate::config::endpoint::Params::builder()
4587 .accelerate(false)
4588 .bucket("bucket.with.dots".to_string())
4589 .region("us-gov-west-1".to_string())
4590 .use_dual_stack(false)
4591 .use_fips(true)
4592 .build()
4593 .expect("invalid params");
4594 let resolver = crate::config::endpoint::DefaultResolver::new();
4595 let endpoint = resolver.resolve_endpoint(¶ms);
4596 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots");
4597 assert_eq!(
4598 endpoint,
4599 ::aws_smithy_types::endpoint::Endpoint::builder()
4600 .url("https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots")
4601 .property(
4602 "authSchemes",
4603 vec![::aws_smithy_types::Document::from({
4604 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4605 out.insert("signingName".to_string(), "s3".to_string().into());
4606 out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
4607 out.insert("disableDoubleEncoding".to_string(), true.into());
4608 out.insert("name".to_string(), "sigv4".to_string().into());
4609 out
4610 })]
4611 )
4612 .build()
4613 );
4614 }
4615
4616 #[test]
4618 fn test_166() {
4619 let params = crate::config::endpoint::Params::builder()
4620 .accelerate(true)
4621 .bucket("bucket-name".to_string())
4622 .force_path_style(true)
4623 .region("us-west-2".to_string())
4624 .use_dual_stack(false)
4625 .use_fips(false)
4626 .build()
4627 .expect("invalid params");
4628 let resolver = crate::config::endpoint::DefaultResolver::new();
4629 let endpoint = resolver.resolve_endpoint(¶ms);
4630 let error = endpoint
4631 .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@us-west-2]");
4632 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
4633 }
4634
4635 #[test]
4637 fn test_167() {
4638 let params = crate::config::endpoint::Params::builder()
4639 .accelerate(false)
4640 .bucket("bucket-name".to_string())
4641 .force_path_style(true)
4642 .region("us-west-2".to_string())
4643 .use_dual_stack(true)
4644 .use_fips(false)
4645 .build()
4646 .expect("invalid params");
4647 let resolver = crate::config::endpoint::DefaultResolver::new();
4648 let endpoint = resolver.resolve_endpoint(¶ms);
4649 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucket-name");
4650 assert_eq!(
4651 endpoint,
4652 ::aws_smithy_types::endpoint::Endpoint::builder()
4653 .url("https://s3.dualstack.us-west-2.amazonaws.com/bucket-name")
4654 .property(
4655 "authSchemes",
4656 vec![::aws_smithy_types::Document::from({
4657 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4658 out.insert("name".to_string(), "sigv4".to_string().into());
4659 out.insert("signingName".to_string(), "s3".to_string().into());
4660 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4661 out.insert("disableDoubleEncoding".to_string(), true.into());
4662 out
4663 })]
4664 )
4665 .build()
4666 );
4667 }
4668
4669 #[test]
4671 fn test_168() {
4672 let params = crate::config::endpoint::Params::builder()
4673 .accelerate(false)
4674 .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
4675 .force_path_style(true)
4676 .region("us-west-2".to_string())
4677 .use_dual_stack(false)
4678 .use_fips(false)
4679 .build()
4680 .expect("invalid params");
4681 let resolver = crate::config::endpoint::DefaultResolver::new();
4682 let endpoint = resolver.resolve_endpoint(¶ms);
4683 let error =
4684 endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@us-west-2]");
4685 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
4686 }
4687
4688 #[test]
4690 fn test_169() {
4691 let params = crate::config::endpoint::Params::builder()
4692 .accelerate(false)
4693 .bucket("99a_b".to_string())
4694 .force_path_style(true)
4695 .region("us-west-2".to_string())
4696 .use_dual_stack(false)
4697 .use_fips(false)
4698 .build()
4699 .expect("invalid params");
4700 let resolver = crate::config::endpoint::DefaultResolver::new();
4701 let endpoint = resolver.resolve_endpoint(¶ms);
4702 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
4703 assert_eq!(
4704 endpoint,
4705 ::aws_smithy_types::endpoint::Endpoint::builder()
4706 .url("https://s3.us-west-2.amazonaws.com/99a_b")
4707 .property(
4708 "authSchemes",
4709 vec![::aws_smithy_types::Document::from({
4710 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4711 out.insert("name".to_string(), "sigv4".to_string().into());
4712 out.insert("signingName".to_string(), "s3".to_string().into());
4713 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4714 out.insert("disableDoubleEncoding".to_string(), true.into());
4715 out
4716 })]
4717 )
4718 .build()
4719 );
4720 }
4721
4722 #[test]
4724 fn test_170() {
4725 let params = crate::config::endpoint::Params::builder()
4726 .accelerate(false)
4727 .bucket("99a_b".to_string())
4728 .region("us-west-2".to_string())
4729 .use_dual_stack(false)
4730 .use_fips(false)
4731 .build()
4732 .expect("invalid params");
4733 let resolver = crate::config::endpoint::DefaultResolver::new();
4734 let endpoint = resolver.resolve_endpoint(¶ms);
4735 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
4736 assert_eq!(
4737 endpoint,
4738 ::aws_smithy_types::endpoint::Endpoint::builder()
4739 .url("https://s3.us-west-2.amazonaws.com/99a_b")
4740 .property(
4741 "authSchemes",
4742 vec![::aws_smithy_types::Document::from({
4743 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4744 out.insert("name".to_string(), "sigv4".to_string().into());
4745 out.insert("signingName".to_string(), "s3".to_string().into());
4746 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4747 out.insert("disableDoubleEncoding".to_string(), true.into());
4748 out
4749 })]
4750 )
4751 .build()
4752 );
4753 }
4754
4755 #[test]
4757 fn test_171() {
4758 let params = crate::config::endpoint::Params::builder()
4759 .accelerate(false)
4760 .bucket("bucket-name".to_string())
4761 .force_path_style(true)
4762 .region("cn-north-1".to_string())
4763 .use_dual_stack(false)
4764 .use_fips(false)
4765 .build()
4766 .expect("invalid params");
4767 let resolver = crate::config::endpoint::DefaultResolver::new();
4768 let endpoint = resolver.resolve_endpoint(¶ms);
4769 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/bucket-name");
4770 assert_eq!(
4771 endpoint,
4772 ::aws_smithy_types::endpoint::Endpoint::builder()
4773 .url("https://s3.cn-north-1.amazonaws.com.cn/bucket-name")
4774 .property(
4775 "authSchemes",
4776 vec![::aws_smithy_types::Document::from({
4777 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4778 out.insert("name".to_string(), "sigv4".to_string().into());
4779 out.insert("signingName".to_string(), "s3".to_string().into());
4780 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4781 out.insert("disableDoubleEncoding".to_string(), true.into());
4782 out
4783 })]
4784 )
4785 .build()
4786 );
4787 }
4788
4789 #[test]
4791 fn test_172() {
4792 let params = crate::config::endpoint::Params::builder()
4793 .accelerate(false)
4794 .bucket("bucket-name".to_string())
4795 .force_path_style(true)
4796 .region("cn-north-1".to_string())
4797 .use_dual_stack(false)
4798 .use_fips(true)
4799 .build()
4800 .expect("invalid params");
4801 let resolver = crate::config::endpoint::DefaultResolver::new();
4802 let endpoint = resolver.resolve_endpoint(¶ms);
4803 let error = endpoint.expect_err("expected error: Partition does not support FIPS [path style + fips@cn-north-1]");
4804 assert_eq!(format!("{}", error), "Partition does not support FIPS")
4805 }
4806
4807 #[test]
4809 fn test_173() {
4810 let params = crate::config::endpoint::Params::builder()
4811 .accelerate(true)
4812 .bucket("bucket-name".to_string())
4813 .force_path_style(true)
4814 .region("cn-north-1".to_string())
4815 .use_dual_stack(false)
4816 .use_fips(false)
4817 .build()
4818 .expect("invalid params");
4819 let resolver = crate::config::endpoint::DefaultResolver::new();
4820 let endpoint = resolver.resolve_endpoint(¶ms);
4821 let error = endpoint
4822 .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@cn-north-1]");
4823 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
4824 }
4825
4826 #[test]
4828 fn test_174() {
4829 let params = crate::config::endpoint::Params::builder()
4830 .accelerate(false)
4831 .bucket("bucket-name".to_string())
4832 .force_path_style(true)
4833 .region("cn-north-1".to_string())
4834 .use_dual_stack(true)
4835 .use_fips(false)
4836 .build()
4837 .expect("invalid params");
4838 let resolver = crate::config::endpoint::DefaultResolver::new();
4839 let endpoint = resolver.resolve_endpoint(¶ms);
4840 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name");
4841 assert_eq!(
4842 endpoint,
4843 ::aws_smithy_types::endpoint::Endpoint::builder()
4844 .url("https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name")
4845 .property(
4846 "authSchemes",
4847 vec![::aws_smithy_types::Document::from({
4848 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4849 out.insert("name".to_string(), "sigv4".to_string().into());
4850 out.insert("signingName".to_string(), "s3".to_string().into());
4851 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4852 out.insert("disableDoubleEncoding".to_string(), true.into());
4853 out
4854 })]
4855 )
4856 .build()
4857 );
4858 }
4859
4860 #[test]
4862 fn test_175() {
4863 let params = crate::config::endpoint::Params::builder()
4864 .accelerate(false)
4865 .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
4866 .force_path_style(true)
4867 .region("cn-north-1".to_string())
4868 .use_dual_stack(false)
4869 .use_fips(false)
4870 .build()
4871 .expect("invalid params");
4872 let resolver = crate::config::endpoint::DefaultResolver::new();
4873 let endpoint = resolver.resolve_endpoint(¶ms);
4874 let error =
4875 endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@cn-north-1]");
4876 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
4877 }
4878
4879 #[test]
4881 fn test_176() {
4882 let params = crate::config::endpoint::Params::builder()
4883 .accelerate(false)
4884 .bucket("99a_b".to_string())
4885 .force_path_style(true)
4886 .region("cn-north-1".to_string())
4887 .use_dual_stack(false)
4888 .use_fips(false)
4889 .build()
4890 .expect("invalid params");
4891 let resolver = crate::config::endpoint::DefaultResolver::new();
4892 let endpoint = resolver.resolve_endpoint(¶ms);
4893 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
4894 assert_eq!(
4895 endpoint,
4896 ::aws_smithy_types::endpoint::Endpoint::builder()
4897 .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
4898 .property(
4899 "authSchemes",
4900 vec![::aws_smithy_types::Document::from({
4901 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4902 out.insert("name".to_string(), "sigv4".to_string().into());
4903 out.insert("signingName".to_string(), "s3".to_string().into());
4904 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4905 out.insert("disableDoubleEncoding".to_string(), true.into());
4906 out
4907 })]
4908 )
4909 .build()
4910 );
4911 }
4912
4913 #[test]
4915 fn test_177() {
4916 let params = crate::config::endpoint::Params::builder()
4917 .accelerate(false)
4918 .bucket("99a_b".to_string())
4919 .region("cn-north-1".to_string())
4920 .use_dual_stack(false)
4921 .use_fips(false)
4922 .build()
4923 .expect("invalid params");
4924 let resolver = crate::config::endpoint::DefaultResolver::new();
4925 let endpoint = resolver.resolve_endpoint(¶ms);
4926 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
4927 assert_eq!(
4928 endpoint,
4929 ::aws_smithy_types::endpoint::Endpoint::builder()
4930 .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
4931 .property(
4932 "authSchemes",
4933 vec![::aws_smithy_types::Document::from({
4934 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4935 out.insert("name".to_string(), "sigv4".to_string().into());
4936 out.insert("signingName".to_string(), "s3".to_string().into());
4937 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4938 out.insert("disableDoubleEncoding".to_string(), true.into());
4939 out
4940 })]
4941 )
4942 .build()
4943 );
4944 }
4945
4946 #[test]
4948 fn test_178() {
4949 let params = crate::config::endpoint::Params::builder()
4950 .accelerate(false)
4951 .bucket("bucket-name".to_string())
4952 .force_path_style(true)
4953 .region("af-south-1".to_string())
4954 .use_dual_stack(false)
4955 .use_fips(false)
4956 .build()
4957 .expect("invalid params");
4958 let resolver = crate::config::endpoint::DefaultResolver::new();
4959 let endpoint = resolver.resolve_endpoint(¶ms);
4960 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/bucket-name");
4961 assert_eq!(
4962 endpoint,
4963 ::aws_smithy_types::endpoint::Endpoint::builder()
4964 .url("https://s3.af-south-1.amazonaws.com/bucket-name")
4965 .property(
4966 "authSchemes",
4967 vec![::aws_smithy_types::Document::from({
4968 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4969 out.insert("name".to_string(), "sigv4".to_string().into());
4970 out.insert("signingName".to_string(), "s3".to_string().into());
4971 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4972 out.insert("disableDoubleEncoding".to_string(), true.into());
4973 out
4974 })]
4975 )
4976 .build()
4977 );
4978 }
4979
4980 #[test]
4982 fn test_179() {
4983 let params = crate::config::endpoint::Params::builder()
4984 .accelerate(false)
4985 .bucket("bucket-name".to_string())
4986 .force_path_style(true)
4987 .region("af-south-1".to_string())
4988 .use_dual_stack(false)
4989 .use_fips(true)
4990 .build()
4991 .expect("invalid params");
4992 let resolver = crate::config::endpoint::DefaultResolver::new();
4993 let endpoint = resolver.resolve_endpoint(¶ms);
4994 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.af-south-1.amazonaws.com/bucket-name");
4995 assert_eq!(
4996 endpoint,
4997 ::aws_smithy_types::endpoint::Endpoint::builder()
4998 .url("https://s3-fips.af-south-1.amazonaws.com/bucket-name")
4999 .property(
5000 "authSchemes",
5001 vec![::aws_smithy_types::Document::from({
5002 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5003 out.insert("signingName".to_string(), "s3".to_string().into());
5004 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5005 out.insert("disableDoubleEncoding".to_string(), true.into());
5006 out.insert("name".to_string(), "sigv4".to_string().into());
5007 out
5008 })]
5009 )
5010 .build()
5011 );
5012 }
5013
5014 #[test]
5016 fn test_180() {
5017 let params = crate::config::endpoint::Params::builder()
5018 .accelerate(true)
5019 .bucket("bucket-name".to_string())
5020 .force_path_style(true)
5021 .region("af-south-1".to_string())
5022 .use_dual_stack(false)
5023 .use_fips(false)
5024 .build()
5025 .expect("invalid params");
5026 let resolver = crate::config::endpoint::DefaultResolver::new();
5027 let endpoint = resolver.resolve_endpoint(¶ms);
5028 let error = endpoint
5029 .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@af-south-1]");
5030 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
5031 }
5032
5033 #[test]
5035 fn test_181() {
5036 let params = crate::config::endpoint::Params::builder()
5037 .accelerate(false)
5038 .bucket("bucket-name".to_string())
5039 .force_path_style(true)
5040 .region("af-south-1".to_string())
5041 .use_dual_stack(true)
5042 .use_fips(false)
5043 .build()
5044 .expect("invalid params");
5045 let resolver = crate::config::endpoint::DefaultResolver::new();
5046 let endpoint = resolver.resolve_endpoint(¶ms);
5047 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.af-south-1.amazonaws.com/bucket-name");
5048 assert_eq!(
5049 endpoint,
5050 ::aws_smithy_types::endpoint::Endpoint::builder()
5051 .url("https://s3.dualstack.af-south-1.amazonaws.com/bucket-name")
5052 .property(
5053 "authSchemes",
5054 vec![::aws_smithy_types::Document::from({
5055 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5056 out.insert("name".to_string(), "sigv4".to_string().into());
5057 out.insert("signingName".to_string(), "s3".to_string().into());
5058 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5059 out.insert("disableDoubleEncoding".to_string(), true.into());
5060 out
5061 })]
5062 )
5063 .build()
5064 );
5065 }
5066
5067 #[test]
5069 fn test_182() {
5070 let params = crate::config::endpoint::Params::builder()
5071 .accelerate(false)
5072 .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
5073 .force_path_style(true)
5074 .region("af-south-1".to_string())
5075 .use_dual_stack(false)
5076 .use_fips(false)
5077 .build()
5078 .expect("invalid params");
5079 let resolver = crate::config::endpoint::DefaultResolver::new();
5080 let endpoint = resolver.resolve_endpoint(¶ms);
5081 let error =
5082 endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@af-south-1]");
5083 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
5084 }
5085
5086 #[test]
5088 fn test_183() {
5089 let params = crate::config::endpoint::Params::builder()
5090 .accelerate(false)
5091 .bucket("99a_b".to_string())
5092 .force_path_style(true)
5093 .region("af-south-1".to_string())
5094 .use_dual_stack(false)
5095 .use_fips(false)
5096 .build()
5097 .expect("invalid params");
5098 let resolver = crate::config::endpoint::DefaultResolver::new();
5099 let endpoint = resolver.resolve_endpoint(¶ms);
5100 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
5101 assert_eq!(
5102 endpoint,
5103 ::aws_smithy_types::endpoint::Endpoint::builder()
5104 .url("https://s3.af-south-1.amazonaws.com/99a_b")
5105 .property(
5106 "authSchemes",
5107 vec![::aws_smithy_types::Document::from({
5108 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5109 out.insert("name".to_string(), "sigv4".to_string().into());
5110 out.insert("signingName".to_string(), "s3".to_string().into());
5111 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5112 out.insert("disableDoubleEncoding".to_string(), true.into());
5113 out
5114 })]
5115 )
5116 .build()
5117 );
5118 }
5119
5120 #[test]
5122 fn test_184() {
5123 let params = crate::config::endpoint::Params::builder()
5124 .accelerate(false)
5125 .bucket("99a_b".to_string())
5126 .region("af-south-1".to_string())
5127 .use_dual_stack(false)
5128 .use_fips(false)
5129 .build()
5130 .expect("invalid params");
5131 let resolver = crate::config::endpoint::DefaultResolver::new();
5132 let endpoint = resolver.resolve_endpoint(¶ms);
5133 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
5134 assert_eq!(
5135 endpoint,
5136 ::aws_smithy_types::endpoint::Endpoint::builder()
5137 .url("https://s3.af-south-1.amazonaws.com/99a_b")
5138 .property(
5139 "authSchemes",
5140 vec![::aws_smithy_types::Document::from({
5141 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5142 out.insert("name".to_string(), "sigv4".to_string().into());
5143 out.insert("signingName".to_string(), "s3".to_string().into());
5144 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5145 out.insert("disableDoubleEncoding".to_string(), true.into());
5146 out
5147 })]
5148 )
5149 .build()
5150 );
5151 }
5152
5153 #[test]
5155 fn test_185() {
5156 let params = crate::config::endpoint::Params::builder()
5157 .accelerate(false)
5158 .bucket("bucket-name".to_string())
5159 .force_path_style(false)
5160 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5161 .region("us-west-2".to_string())
5162 .use_dual_stack(false)
5163 .use_fips(false)
5164 .build()
5165 .expect("invalid params");
5166 let resolver = crate::config::endpoint::DefaultResolver::new();
5167 let endpoint = resolver.resolve_endpoint(¶ms);
5168 let endpoint = endpoint.expect("Expected valid endpoint: http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
5169 assert_eq!(
5170 endpoint,
5171 ::aws_smithy_types::endpoint::Endpoint::builder()
5172 .url("http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
5173 .property(
5174 "authSchemes",
5175 vec![::aws_smithy_types::Document::from({
5176 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5177 out.insert("name".to_string(), "sigv4".to_string().into());
5178 out.insert("signingName".to_string(), "s3".to_string().into());
5179 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5180 out.insert("disableDoubleEncoding".to_string(), true.into());
5181 out
5182 })]
5183 )
5184 .build()
5185 );
5186 }
5187
5188 #[test]
5190 fn test_186() {
5191 let params = crate::config::endpoint::Params::builder()
5192 .accelerate(false)
5193 .bucket("bucket-name".to_string())
5194 .force_path_style(true)
5195 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5196 .region("us-west-2".to_string())
5197 .use_dual_stack(false)
5198 .use_fips(false)
5199 .build()
5200 .expect("invalid params");
5201 let resolver = crate::config::endpoint::DefaultResolver::new();
5202 let endpoint = resolver.resolve_endpoint(¶ms);
5203 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
5204 assert_eq!(
5205 endpoint,
5206 ::aws_smithy_types::endpoint::Endpoint::builder()
5207 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
5208 .property(
5209 "authSchemes",
5210 vec![::aws_smithy_types::Document::from({
5211 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5212 out.insert("name".to_string(), "sigv4".to_string().into());
5213 out.insert("signingName".to_string(), "s3".to_string().into());
5214 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5215 out.insert("disableDoubleEncoding".to_string(), true.into());
5216 out
5217 })]
5218 )
5219 .build()
5220 );
5221 }
5222
5223 #[test]
5225 fn test_187() {
5226 let params = crate::config::endpoint::Params::builder()
5227 .accelerate(false)
5228 .bucket("bucket-name".to_string())
5229 .force_path_style(false)
5230 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5231 .region("us-west-2".to_string())
5232 .use_dual_stack(false)
5233 .use_fips(true)
5234 .build()
5235 .expect("invalid params");
5236 let resolver = crate::config::endpoint::DefaultResolver::new();
5237 let endpoint = resolver.resolve_endpoint(¶ms);
5238 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [SDK::Host + FIPS@us-west-2]");
5239 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
5240 }
5241
5242 #[test]
5244 fn test_188() {
5245 let params = crate::config::endpoint::Params::builder()
5246 .accelerate(false)
5247 .bucket("bucket-name".to_string())
5248 .force_path_style(false)
5249 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5250 .region("us-west-2".to_string())
5251 .use_dual_stack(true)
5252 .use_fips(false)
5253 .build()
5254 .expect("invalid params");
5255 let resolver = crate::config::endpoint::DefaultResolver::new();
5256 let endpoint = resolver.resolve_endpoint(¶ms);
5257 let error =
5258 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + DualStack@us-west-2]");
5259 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
5260 }
5261
5262 #[test]
5264 fn test_189() {
5265 let params = crate::config::endpoint::Params::builder()
5266 .accelerate(true)
5267 .bucket("bucket-name".to_string())
5268 .force_path_style(false)
5269 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5270 .region("us-west-2".to_string())
5271 .use_dual_stack(false)
5272 .use_fips(false)
5273 .build()
5274 .expect("invalid params");
5275 let resolver = crate::config::endpoint::DefaultResolver::new();
5276 let endpoint = resolver.resolve_endpoint(¶ms);
5277 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with S3 Accelerate [SDK::HOST + accelerate@us-west-2]");
5278 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with S3 Accelerate")
5279 }
5280
5281 #[test]
5283 fn test_190() {
5284 let params = crate::config::endpoint::Params::builder()
5285 .accelerate(false)
5286 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5287 .force_path_style(false)
5288 .endpoint("https://beta.example.com".to_string())
5289 .region("us-west-2".to_string())
5290 .use_dual_stack(false)
5291 .use_fips(false)
5292 .build()
5293 .expect("invalid params");
5294 let resolver = crate::config::endpoint::DefaultResolver::new();
5295 let endpoint = resolver.resolve_endpoint(¶ms);
5296 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
5297 assert_eq!(
5298 endpoint,
5299 ::aws_smithy_types::endpoint::Endpoint::builder()
5300 .url("https://myendpoint-123456789012.beta.example.com")
5301 .property(
5302 "authSchemes",
5303 vec![::aws_smithy_types::Document::from({
5304 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5305 out.insert("name".to_string(), "sigv4".to_string().into());
5306 out.insert("signingName".to_string(), "s3".to_string().into());
5307 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5308 out.insert("disableDoubleEncoding".to_string(), true.into());
5309 out
5310 })]
5311 )
5312 .build()
5313 );
5314 }
5315
5316 #[test]
5318 fn test_191() {
5319 let params = crate::config::endpoint::Params::builder()
5320 .accelerate(false)
5321 .bucket("bucket-name".to_string())
5322 .force_path_style(false)
5323 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5324 .region("cn-north-1".to_string())
5325 .use_dual_stack(false)
5326 .use_fips(false)
5327 .build()
5328 .expect("invalid params");
5329 let resolver = crate::config::endpoint::DefaultResolver::new();
5330 let endpoint = resolver.resolve_endpoint(¶ms);
5331 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
5332 assert_eq!(
5333 endpoint,
5334 ::aws_smithy_types::endpoint::Endpoint::builder()
5335 .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
5336 .property(
5337 "authSchemes",
5338 vec![::aws_smithy_types::Document::from({
5339 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5340 out.insert("name".to_string(), "sigv4".to_string().into());
5341 out.insert("signingName".to_string(), "s3".to_string().into());
5342 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5343 out.insert("disableDoubleEncoding".to_string(), true.into());
5344 out
5345 })]
5346 )
5347 .build()
5348 );
5349 }
5350
5351 #[test]
5353 fn test_192() {
5354 let params = crate::config::endpoint::Params::builder()
5355 .accelerate(false)
5356 .bucket("bucket-name".to_string())
5357 .force_path_style(true)
5358 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5359 .region("cn-north-1".to_string())
5360 .use_dual_stack(false)
5361 .use_fips(false)
5362 .build()
5363 .expect("invalid params");
5364 let resolver = crate::config::endpoint::DefaultResolver::new();
5365 let endpoint = resolver.resolve_endpoint(¶ms);
5366 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
5367 assert_eq!(
5368 endpoint,
5369 ::aws_smithy_types::endpoint::Endpoint::builder()
5370 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
5371 .property(
5372 "authSchemes",
5373 vec![::aws_smithy_types::Document::from({
5374 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5375 out.insert("name".to_string(), "sigv4".to_string().into());
5376 out.insert("signingName".to_string(), "s3".to_string().into());
5377 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5378 out.insert("disableDoubleEncoding".to_string(), true.into());
5379 out
5380 })]
5381 )
5382 .build()
5383 );
5384 }
5385
5386 #[test]
5388 fn test_193() {
5389 let params = crate::config::endpoint::Params::builder()
5390 .accelerate(false)
5391 .bucket("bucket-name".to_string())
5392 .force_path_style(false)
5393 .region("cn-north-1".to_string())
5394 .use_dual_stack(false)
5395 .use_fips(true)
5396 .build()
5397 .expect("invalid params");
5398 let resolver = crate::config::endpoint::DefaultResolver::new();
5399 let endpoint = resolver.resolve_endpoint(¶ms);
5400 let error = endpoint.expect_err("expected error: Partition does not support FIPS [FIPS@cn-north-1]");
5401 assert_eq!(format!("{}", error), "Partition does not support FIPS")
5402 }
5403
5404 #[test]
5406 fn test_194() {
5407 let params = crate::config::endpoint::Params::builder()
5408 .accelerate(false)
5409 .bucket("bucket-name".to_string())
5410 .force_path_style(false)
5411 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5412 .region("cn-north-1".to_string())
5413 .use_dual_stack(true)
5414 .use_fips(false)
5415 .build()
5416 .expect("invalid params");
5417 let resolver = crate::config::endpoint::DefaultResolver::new();
5418 let endpoint = resolver.resolve_endpoint(¶ms);
5419 let error =
5420 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + DualStack@cn-north-1]");
5421 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
5422 }
5423
5424 #[test]
5426 fn test_195() {
5427 let params = crate::config::endpoint::Params::builder()
5428 .accelerate(true)
5429 .bucket("bucket-name".to_string())
5430 .force_path_style(false)
5431 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5432 .region("cn-north-1".to_string())
5433 .use_dual_stack(false)
5434 .use_fips(false)
5435 .build()
5436 .expect("invalid params");
5437 let resolver = crate::config::endpoint::DefaultResolver::new();
5438 let endpoint = resolver.resolve_endpoint(¶ms);
5439 let error =
5440 endpoint.expect_err("expected error: A custom endpoint cannot be combined with S3 Accelerate [SDK::HOST + accelerate@cn-north-1]");
5441 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with S3 Accelerate")
5442 }
5443
5444 #[test]
5446 fn test_196() {
5447 let params = crate::config::endpoint::Params::builder()
5448 .accelerate(false)
5449 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5450 .force_path_style(false)
5451 .endpoint("https://beta.example.com".to_string())
5452 .region("cn-north-1".to_string())
5453 .use_dual_stack(false)
5454 .use_fips(false)
5455 .build()
5456 .expect("invalid params");
5457 let resolver = crate::config::endpoint::DefaultResolver::new();
5458 let endpoint = resolver.resolve_endpoint(¶ms);
5459 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
5460 assert_eq!(
5461 endpoint,
5462 ::aws_smithy_types::endpoint::Endpoint::builder()
5463 .url("https://myendpoint-123456789012.beta.example.com")
5464 .property(
5465 "authSchemes",
5466 vec![::aws_smithy_types::Document::from({
5467 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5468 out.insert("name".to_string(), "sigv4".to_string().into());
5469 out.insert("signingName".to_string(), "s3".to_string().into());
5470 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5471 out.insert("disableDoubleEncoding".to_string(), true.into());
5472 out
5473 })]
5474 )
5475 .build()
5476 );
5477 }
5478
5479 #[test]
5481 fn test_197() {
5482 let params = crate::config::endpoint::Params::builder()
5483 .accelerate(false)
5484 .bucket("bucket-name".to_string())
5485 .force_path_style(false)
5486 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5487 .region("af-south-1".to_string())
5488 .use_dual_stack(false)
5489 .use_fips(false)
5490 .build()
5491 .expect("invalid params");
5492 let resolver = crate::config::endpoint::DefaultResolver::new();
5493 let endpoint = resolver.resolve_endpoint(¶ms);
5494 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
5495 assert_eq!(
5496 endpoint,
5497 ::aws_smithy_types::endpoint::Endpoint::builder()
5498 .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
5499 .property(
5500 "authSchemes",
5501 vec![::aws_smithy_types::Document::from({
5502 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5503 out.insert("name".to_string(), "sigv4".to_string().into());
5504 out.insert("signingName".to_string(), "s3".to_string().into());
5505 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5506 out.insert("disableDoubleEncoding".to_string(), true.into());
5507 out
5508 })]
5509 )
5510 .build()
5511 );
5512 }
5513
5514 #[test]
5516 fn test_198() {
5517 let params = crate::config::endpoint::Params::builder()
5518 .accelerate(false)
5519 .bucket("bucket-name".to_string())
5520 .force_path_style(true)
5521 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5522 .region("af-south-1".to_string())
5523 .use_dual_stack(false)
5524 .use_fips(false)
5525 .build()
5526 .expect("invalid params");
5527 let resolver = crate::config::endpoint::DefaultResolver::new();
5528 let endpoint = resolver.resolve_endpoint(¶ms);
5529 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
5530 assert_eq!(
5531 endpoint,
5532 ::aws_smithy_types::endpoint::Endpoint::builder()
5533 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
5534 .property(
5535 "authSchemes",
5536 vec![::aws_smithy_types::Document::from({
5537 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5538 out.insert("name".to_string(), "sigv4".to_string().into());
5539 out.insert("signingName".to_string(), "s3".to_string().into());
5540 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5541 out.insert("disableDoubleEncoding".to_string(), true.into());
5542 out
5543 })]
5544 )
5545 .build()
5546 );
5547 }
5548
5549 #[test]
5551 fn test_199() {
5552 let params = crate::config::endpoint::Params::builder()
5553 .accelerate(false)
5554 .bucket("bucket-name".to_string())
5555 .force_path_style(false)
5556 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5557 .region("af-south-1".to_string())
5558 .use_dual_stack(false)
5559 .use_fips(true)
5560 .build()
5561 .expect("invalid params");
5562 let resolver = crate::config::endpoint::DefaultResolver::new();
5563 let endpoint = resolver.resolve_endpoint(¶ms);
5564 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [SDK::Host + FIPS@af-south-1]");
5565 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
5566 }
5567
5568 #[test]
5570 fn test_200() {
5571 let params = crate::config::endpoint::Params::builder()
5572 .accelerate(false)
5573 .bucket("bucket-name".to_string())
5574 .force_path_style(false)
5575 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5576 .region("af-south-1".to_string())
5577 .use_dual_stack(true)
5578 .use_fips(false)
5579 .build()
5580 .expect("invalid params");
5581 let resolver = crate::config::endpoint::DefaultResolver::new();
5582 let endpoint = resolver.resolve_endpoint(¶ms);
5583 let error =
5584 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + DualStack@af-south-1]");
5585 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
5586 }
5587
5588 #[test]
5590 fn test_201() {
5591 let params = crate::config::endpoint::Params::builder()
5592 .accelerate(true)
5593 .bucket("bucket-name".to_string())
5594 .force_path_style(false)
5595 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5596 .region("af-south-1".to_string())
5597 .use_dual_stack(false)
5598 .use_fips(false)
5599 .build()
5600 .expect("invalid params");
5601 let resolver = crate::config::endpoint::DefaultResolver::new();
5602 let endpoint = resolver.resolve_endpoint(¶ms);
5603 let error =
5604 endpoint.expect_err("expected error: A custom endpoint cannot be combined with S3 Accelerate [SDK::HOST + accelerate@af-south-1]");
5605 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with S3 Accelerate")
5606 }
5607
5608 #[test]
5610 fn test_202() {
5611 let params = crate::config::endpoint::Params::builder()
5612 .accelerate(false)
5613 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5614 .force_path_style(false)
5615 .endpoint("https://beta.example.com".to_string())
5616 .region("af-south-1".to_string())
5617 .use_dual_stack(false)
5618 .use_fips(false)
5619 .build()
5620 .expect("invalid params");
5621 let resolver = crate::config::endpoint::DefaultResolver::new();
5622 let endpoint = resolver.resolve_endpoint(¶ms);
5623 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
5624 assert_eq!(
5625 endpoint,
5626 ::aws_smithy_types::endpoint::Endpoint::builder()
5627 .url("https://myendpoint-123456789012.beta.example.com")
5628 .property(
5629 "authSchemes",
5630 vec![::aws_smithy_types::Document::from({
5631 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5632 out.insert("name".to_string(), "sigv4".to_string().into());
5633 out.insert("signingName".to_string(), "s3".to_string().into());
5634 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5635 out.insert("disableDoubleEncoding".to_string(), true.into());
5636 out
5637 })]
5638 )
5639 .build()
5640 );
5641 }
5642
5643 #[test]
5645 fn test_203() {
5646 let params = crate::config::endpoint::Params::builder()
5647 .accelerate(false)
5648 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5649 .force_path_style(false)
5650 .region("us-west-2".to_string())
5651 .use_dual_stack(false)
5652 .use_fips(false)
5653 .build()
5654 .expect("invalid params");
5655 let resolver = crate::config::endpoint::DefaultResolver::new();
5656 let endpoint = resolver.resolve_endpoint(¶ms);
5657 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
5658 assert_eq!(
5659 endpoint,
5660 ::aws_smithy_types::endpoint::Endpoint::builder()
5661 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
5662 .property(
5663 "authSchemes",
5664 vec![::aws_smithy_types::Document::from({
5665 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5666 out.insert("name".to_string(), "sigv4".to_string().into());
5667 out.insert("signingName".to_string(), "s3".to_string().into());
5668 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5669 out.insert("disableDoubleEncoding".to_string(), true.into());
5670 out
5671 })]
5672 )
5673 .build()
5674 );
5675 }
5676
5677 #[test]
5679 fn test_204() {
5680 let params = crate::config::endpoint::Params::builder()
5681 .accelerate(false)
5682 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5683 .force_path_style(false)
5684 .region("us-west-2".to_string())
5685 .use_dual_stack(false)
5686 .use_fips(true)
5687 .build()
5688 .expect("invalid params");
5689 let resolver = crate::config::endpoint::DefaultResolver::new();
5690 let endpoint = resolver.resolve_endpoint(¶ms);
5691 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com");
5692 assert_eq!(
5693 endpoint,
5694 ::aws_smithy_types::endpoint::Endpoint::builder()
5695 .url("https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com")
5696 .property(
5697 "authSchemes",
5698 vec![::aws_smithy_types::Document::from({
5699 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5700 out.insert("name".to_string(), "sigv4".to_string().into());
5701 out.insert("signingName".to_string(), "s3".to_string().into());
5702 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5703 out.insert("disableDoubleEncoding".to_string(), true.into());
5704 out
5705 })]
5706 )
5707 .build()
5708 );
5709 }
5710
5711 #[test]
5713 fn test_205() {
5714 let params = crate::config::endpoint::Params::builder()
5715 .accelerate(true)
5716 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5717 .force_path_style(false)
5718 .region("us-west-2".to_string())
5719 .use_dual_stack(false)
5720 .use_fips(false)
5721 .build()
5722 .expect("invalid params");
5723 let resolver = crate::config::endpoint::DefaultResolver::new();
5724 let endpoint = resolver.resolve_endpoint(¶ms);
5725 let error =
5726 endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@us-west-2]");
5727 assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
5728 }
5729
5730 #[test]
5732 fn test_206() {
5733 let params = crate::config::endpoint::Params::builder()
5734 .accelerate(false)
5735 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5736 .force_path_style(false)
5737 .region("us-west-2".to_string())
5738 .use_dual_stack(true)
5739 .use_fips(true)
5740 .build()
5741 .expect("invalid params");
5742 let resolver = crate::config::endpoint::DefaultResolver::new();
5743 let endpoint = resolver.resolve_endpoint(¶ms);
5744 let endpoint =
5745 endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
5746 assert_eq!(
5747 endpoint,
5748 ::aws_smithy_types::endpoint::Endpoint::builder()
5749 .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
5750 .property(
5751 "authSchemes",
5752 vec![::aws_smithy_types::Document::from({
5753 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5754 out.insert("name".to_string(), "sigv4".to_string().into());
5755 out.insert("signingName".to_string(), "s3".to_string().into());
5756 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5757 out.insert("disableDoubleEncoding".to_string(), true.into());
5758 out
5759 })]
5760 )
5761 .build()
5762 );
5763 }
5764
5765 #[test]
5767 fn test_207() {
5768 let params = crate::config::endpoint::Params::builder()
5769 .accelerate(false)
5770 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5771 .force_path_style(false)
5772 .region("cn-north-1".to_string())
5773 .use_dual_stack(false)
5774 .use_fips(false)
5775 .build()
5776 .expect("invalid params");
5777 let resolver = crate::config::endpoint::DefaultResolver::new();
5778 let endpoint = resolver.resolve_endpoint(¶ms);
5779 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn");
5780 assert_eq!(
5781 endpoint,
5782 ::aws_smithy_types::endpoint::Endpoint::builder()
5783 .url("https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn")
5784 .property(
5785 "authSchemes",
5786 vec![::aws_smithy_types::Document::from({
5787 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5788 out.insert("name".to_string(), "sigv4".to_string().into());
5789 out.insert("signingName".to_string(), "s3".to_string().into());
5790 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5791 out.insert("disableDoubleEncoding".to_string(), true.into());
5792 out
5793 })]
5794 )
5795 .build()
5796 );
5797 }
5798
5799 #[test]
5801 fn test_208() {
5802 let params = crate::config::endpoint::Params::builder()
5803 .accelerate(false)
5804 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5805 .force_path_style(false)
5806 .region("cn-north-1".to_string())
5807 .use_dual_stack(false)
5808 .use_fips(true)
5809 .build()
5810 .expect("invalid params");
5811 let resolver = crate::config::endpoint::DefaultResolver::new();
5812 let endpoint = resolver.resolve_endpoint(¶ms);
5813 let error = endpoint.expect_err("expected error: Partition does not support FIPS [access point arn + FIPS@cn-north-1]");
5814 assert_eq!(format!("{}", error), "Partition does not support FIPS")
5815 }
5816
5817 #[test]
5819 fn test_209() {
5820 let params = crate::config::endpoint::Params::builder()
5821 .accelerate(true)
5822 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5823 .force_path_style(false)
5824 .region("cn-north-1".to_string())
5825 .use_dual_stack(false)
5826 .use_fips(false)
5827 .build()
5828 .expect("invalid params");
5829 let resolver = crate::config::endpoint::DefaultResolver::new();
5830 let endpoint = resolver.resolve_endpoint(¶ms);
5831 let error =
5832 endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@cn-north-1]");
5833 assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
5834 }
5835
5836 #[test]
5838 fn test_210() {
5839 let params = crate::config::endpoint::Params::builder()
5840 .accelerate(false)
5841 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5842 .force_path_style(false)
5843 .region("cn-north-1".to_string())
5844 .use_dual_stack(true)
5845 .use_fips(true)
5846 .build()
5847 .expect("invalid params");
5848 let resolver = crate::config::endpoint::DefaultResolver::new();
5849 let endpoint = resolver.resolve_endpoint(¶ms);
5850 let error = endpoint.expect_err("expected error: Partition does not support FIPS [access point arn + FIPS + DualStack@cn-north-1]");
5851 assert_eq!(format!("{}", error), "Partition does not support FIPS")
5852 }
5853
5854 #[test]
5856 fn test_211() {
5857 let params = crate::config::endpoint::Params::builder()
5858 .accelerate(false)
5859 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5860 .force_path_style(false)
5861 .region("af-south-1".to_string())
5862 .use_dual_stack(false)
5863 .use_fips(false)
5864 .build()
5865 .expect("invalid params");
5866 let resolver = crate::config::endpoint::DefaultResolver::new();
5867 let endpoint = resolver.resolve_endpoint(¶ms);
5868 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com");
5869 assert_eq!(
5870 endpoint,
5871 ::aws_smithy_types::endpoint::Endpoint::builder()
5872 .url("https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com")
5873 .property(
5874 "authSchemes",
5875 vec![::aws_smithy_types::Document::from({
5876 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5877 out.insert("name".to_string(), "sigv4".to_string().into());
5878 out.insert("signingName".to_string(), "s3".to_string().into());
5879 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5880 out.insert("disableDoubleEncoding".to_string(), true.into());
5881 out
5882 })]
5883 )
5884 .build()
5885 );
5886 }
5887
5888 #[test]
5890 fn test_212() {
5891 let params = crate::config::endpoint::Params::builder()
5892 .accelerate(false)
5893 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5894 .force_path_style(false)
5895 .region("af-south-1".to_string())
5896 .use_dual_stack(false)
5897 .use_fips(true)
5898 .build()
5899 .expect("invalid params");
5900 let resolver = crate::config::endpoint::DefaultResolver::new();
5901 let endpoint = resolver.resolve_endpoint(¶ms);
5902 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com");
5903 assert_eq!(
5904 endpoint,
5905 ::aws_smithy_types::endpoint::Endpoint::builder()
5906 .url("https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com")
5907 .property(
5908 "authSchemes",
5909 vec![::aws_smithy_types::Document::from({
5910 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5911 out.insert("name".to_string(), "sigv4".to_string().into());
5912 out.insert("signingName".to_string(), "s3".to_string().into());
5913 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5914 out.insert("disableDoubleEncoding".to_string(), true.into());
5915 out
5916 })]
5917 )
5918 .build()
5919 );
5920 }
5921
5922 #[test]
5924 fn test_213() {
5925 let params = crate::config::endpoint::Params::builder()
5926 .accelerate(true)
5927 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5928 .force_path_style(false)
5929 .region("af-south-1".to_string())
5930 .use_dual_stack(false)
5931 .use_fips(false)
5932 .build()
5933 .expect("invalid params");
5934 let resolver = crate::config::endpoint::DefaultResolver::new();
5935 let endpoint = resolver.resolve_endpoint(¶ms);
5936 let error =
5937 endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@af-south-1]");
5938 assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
5939 }
5940
5941 #[test]
5943 fn test_214() {
5944 let params = crate::config::endpoint::Params::builder()
5945 .accelerate(false)
5946 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5947 .force_path_style(false)
5948 .region("af-south-1".to_string())
5949 .use_dual_stack(true)
5950 .use_fips(true)
5951 .build()
5952 .expect("invalid params");
5953 let resolver = crate::config::endpoint::DefaultResolver::new();
5954 let endpoint = resolver.resolve_endpoint(¶ms);
5955 let endpoint =
5956 endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com");
5957 assert_eq!(
5958 endpoint,
5959 ::aws_smithy_types::endpoint::Endpoint::builder()
5960 .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com")
5961 .property(
5962 "authSchemes",
5963 vec![::aws_smithy_types::Document::from({
5964 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5965 out.insert("name".to_string(), "sigv4".to_string().into());
5966 out.insert("signingName".to_string(), "s3".to_string().into());
5967 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5968 out.insert("disableDoubleEncoding".to_string(), true.into());
5969 out
5970 })]
5971 )
5972 .build()
5973 );
5974 }
5975
5976 #[test]
5978 fn test_215() {
5979 let params = crate::config::endpoint::Params::builder()
5980 .region("us-west-2".to_string())
5981 .use_fips(false)
5982 .use_dual_stack(false)
5983 .accelerate(false)
5984 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
5985 .build()
5986 .expect("invalid params");
5987 let resolver = crate::config::endpoint::DefaultResolver::new();
5988 let endpoint = resolver.resolve_endpoint(¶ms);
5989 let endpoint =
5990 endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com");
5991 assert_eq!(
5992 endpoint,
5993 ::aws_smithy_types::endpoint::Endpoint::builder()
5994 .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com")
5995 .property(
5996 "authSchemes",
5997 vec![
5998 ::aws_smithy_types::Document::from({
5999 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6000 out.insert("name".to_string(), "sigv4a".to_string().into());
6001 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6002 out.insert(
6003 "signingRegionSet".to_string(),
6004 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6005 );
6006 out.insert("disableDoubleEncoding".to_string(), true.into());
6007 out
6008 }),
6009 ::aws_smithy_types::Document::from({
6010 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6011 out.insert("name".to_string(), "sigv4".to_string().into());
6012 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6013 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6014 out.insert("disableDoubleEncoding".to_string(), true.into());
6015 out
6016 })
6017 ]
6018 )
6019 .build()
6020 );
6021 }
6022
6023 #[test]
6025 fn test_216() {
6026 let params = crate::config::endpoint::Params::builder()
6027 .region("us-west-2".to_string())
6028 .use_fips(false)
6029 .use_dual_stack(false)
6030 .accelerate(false)
6031 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6032 .endpoint("https://example.amazonaws.com".to_string())
6033 .build()
6034 .expect("invalid params");
6035 let resolver = crate::config::endpoint::DefaultResolver::new();
6036 let endpoint = resolver.resolve_endpoint(¶ms);
6037 let endpoint = endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.example.amazonaws.com");
6038 assert_eq!(
6039 endpoint,
6040 ::aws_smithy_types::endpoint::Endpoint::builder()
6041 .url("https://reports-123456789012.op-01234567890123456.example.amazonaws.com")
6042 .property(
6043 "authSchemes",
6044 vec![
6045 ::aws_smithy_types::Document::from({
6046 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6047 out.insert("name".to_string(), "sigv4a".to_string().into());
6048 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6049 out.insert(
6050 "signingRegionSet".to_string(),
6051 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6052 );
6053 out.insert("disableDoubleEncoding".to_string(), true.into());
6054 out
6055 }),
6056 ::aws_smithy_types::Document::from({
6057 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6058 out.insert("name".to_string(), "sigv4".to_string().into());
6059 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6060 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6061 out.insert("disableDoubleEncoding".to_string(), true.into());
6062 out
6063 })
6064 ]
6065 )
6066 .build()
6067 );
6068 }
6069
6070 #[test]
6072 fn test_217() {
6073 let params = crate::config::endpoint::Params::builder()
6074 .accelerate(false)
6075 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6076 .force_path_style(false)
6077 .use_arn_region(false)
6078 .region("us-west-2".to_string())
6079 .use_dual_stack(false)
6080 .use_fips(false)
6081 .build()
6082 .expect("invalid params");
6083 let resolver = crate::config::endpoint::DefaultResolver::new();
6084 let endpoint = resolver.resolve_endpoint(¶ms);
6085 let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false` [outposts arn with region mismatch and UseArnRegion=false]");
6086 assert_eq!(
6087 format!("{}", error),
6088 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
6089 )
6090 }
6091
6092 #[test]
6094 fn test_218() {
6095 let params = crate::config::endpoint::Params::builder()
6096 .accelerate(false)
6097 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6098 .endpoint("https://example.com".to_string())
6099 .force_path_style(false)
6100 .use_arn_region(false)
6101 .region("us-west-2".to_string())
6102 .use_dual_stack(false)
6103 .use_fips(false)
6104 .build()
6105 .expect("invalid params");
6106 let resolver = crate::config::endpoint::DefaultResolver::new();
6107 let endpoint = resolver.resolve_endpoint(¶ms);
6108 let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false` [outposts arn with region mismatch, custom region and UseArnRegion=false]");
6109 assert_eq!(
6110 format!("{}", error),
6111 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
6112 )
6113 }
6114
6115 #[test]
6117 fn test_219() {
6118 let params = crate::config::endpoint::Params::builder()
6119 .accelerate(false)
6120 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6121 .force_path_style(false)
6122 .use_arn_region(true)
6123 .region("us-west-2".to_string())
6124 .use_dual_stack(false)
6125 .use_fips(false)
6126 .build()
6127 .expect("invalid params");
6128 let resolver = crate::config::endpoint::DefaultResolver::new();
6129 let endpoint = resolver.resolve_endpoint(¶ms);
6130 let endpoint =
6131 endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
6132 assert_eq!(
6133 endpoint,
6134 ::aws_smithy_types::endpoint::Endpoint::builder()
6135 .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
6136 .property(
6137 "authSchemes",
6138 vec![
6139 ::aws_smithy_types::Document::from({
6140 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6141 out.insert("name".to_string(), "sigv4a".to_string().into());
6142 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6143 out.insert(
6144 "signingRegionSet".to_string(),
6145 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6146 );
6147 out.insert("disableDoubleEncoding".to_string(), true.into());
6148 out
6149 }),
6150 ::aws_smithy_types::Document::from({
6151 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6152 out.insert("name".to_string(), "sigv4".to_string().into());
6153 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6154 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6155 out.insert("disableDoubleEncoding".to_string(), true.into());
6156 out
6157 })
6158 ]
6159 )
6160 .build()
6161 );
6162 }
6163
6164 #[test]
6166 fn test_220() {
6167 let params = crate::config::endpoint::Params::builder()
6168 .accelerate(false)
6169 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6170 .force_path_style(false)
6171 .region("us-west-2".to_string())
6172 .use_dual_stack(false)
6173 .use_fips(false)
6174 .build()
6175 .expect("invalid params");
6176 let resolver = crate::config::endpoint::DefaultResolver::new();
6177 let endpoint = resolver.resolve_endpoint(¶ms);
6178 let endpoint =
6179 endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
6180 assert_eq!(
6181 endpoint,
6182 ::aws_smithy_types::endpoint::Endpoint::builder()
6183 .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
6184 .property(
6185 "authSchemes",
6186 vec![
6187 ::aws_smithy_types::Document::from({
6188 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6189 out.insert("name".to_string(), "sigv4a".to_string().into());
6190 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6191 out.insert(
6192 "signingRegionSet".to_string(),
6193 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6194 );
6195 out.insert("disableDoubleEncoding".to_string(), true.into());
6196 out
6197 }),
6198 ::aws_smithy_types::Document::from({
6199 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6200 out.insert("name".to_string(), "sigv4".to_string().into());
6201 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6202 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6203 out.insert("disableDoubleEncoding".to_string(), true.into());
6204 out
6205 })
6206 ]
6207 )
6208 .build()
6209 );
6210 }
6211
6212 #[test]
6214 fn test_221() {
6215 let params = crate::config::endpoint::Params::builder()
6216 .accelerate(false)
6217 .bucket("arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6218 .force_path_style(false)
6219 .use_arn_region(true)
6220 .region("us-west-2".to_string())
6221 .use_dual_stack(false)
6222 .use_fips(false)
6223 .build()
6224 .expect("invalid params");
6225 let resolver = crate::config::endpoint::DefaultResolver::new();
6226 let endpoint = resolver.resolve_endpoint(¶ms);
6227 let error = endpoint.expect_err("expected error: Client was configured for partition `aws` but ARN (`arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint`) has `aws-cn` [outposts arn with partition mismatch and UseArnRegion=true]");
6228 assert_eq!(format!("{}", error), "Client was configured for partition `aws` but ARN (`arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint`) has `aws-cn`")
6229 }
6230
6231 #[test]
6233 fn test_222() {
6234 let params = crate::config::endpoint::Params::builder()
6235 .region("us-east-1".to_string())
6236 .use_global_endpoint(true)
6237 .use_fips(false)
6238 .use_dual_stack(false)
6239 .accelerate(false)
6240 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6241 .build()
6242 .expect("invalid params");
6243 let resolver = crate::config::endpoint::DefaultResolver::new();
6244 let endpoint = resolver.resolve_endpoint(¶ms);
6245 let endpoint =
6246 endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
6247 assert_eq!(
6248 endpoint,
6249 ::aws_smithy_types::endpoint::Endpoint::builder()
6250 .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
6251 .property(
6252 "authSchemes",
6253 vec![
6254 ::aws_smithy_types::Document::from({
6255 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6256 out.insert("name".to_string(), "sigv4a".to_string().into());
6257 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6258 out.insert(
6259 "signingRegionSet".to_string(),
6260 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6261 );
6262 out.insert("disableDoubleEncoding".to_string(), true.into());
6263 out
6264 }),
6265 ::aws_smithy_types::Document::from({
6266 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6267 out.insert("name".to_string(), "sigv4".to_string().into());
6268 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6269 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6270 out.insert("disableDoubleEncoding".to_string(), true.into());
6271 out
6272 })
6273 ]
6274 )
6275 .build()
6276 );
6277 }
6278
6279 #[test]
6281 fn test_223() {
6282 let params = crate::config::endpoint::Params::builder()
6283 .region("us-east-1".to_string())
6284 .use_fips(false)
6285 .use_dual_stack(true)
6286 .accelerate(false)
6287 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6288 .build()
6289 .expect("invalid params");
6290 let resolver = crate::config::endpoint::DefaultResolver::new();
6291 let endpoint = resolver.resolve_endpoint(¶ms);
6292 let error = endpoint.expect_err("expected error: S3 Outposts does not support Dual-stack [S3 outposts does not support dualstack]");
6293 assert_eq!(format!("{}", error), "S3 Outposts does not support Dual-stack")
6294 }
6295
6296 #[test]
6298 fn test_224() {
6299 let params = crate::config::endpoint::Params::builder()
6300 .region("us-east-1".to_string())
6301 .use_fips(true)
6302 .use_dual_stack(false)
6303 .accelerate(false)
6304 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6305 .build()
6306 .expect("invalid params");
6307 let resolver = crate::config::endpoint::DefaultResolver::new();
6308 let endpoint = resolver.resolve_endpoint(¶ms);
6309 let error = endpoint.expect_err("expected error: S3 Outposts does not support FIPS [S3 outposts does not support fips]");
6310 assert_eq!(format!("{}", error), "S3 Outposts does not support FIPS")
6311 }
6312
6313 #[test]
6315 fn test_225() {
6316 let params = crate::config::endpoint::Params::builder()
6317 .region("us-east-1".to_string())
6318 .use_fips(false)
6319 .use_dual_stack(false)
6320 .accelerate(true)
6321 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6322 .build()
6323 .expect("invalid params");
6324 let resolver = crate::config::endpoint::DefaultResolver::new();
6325 let endpoint = resolver.resolve_endpoint(¶ms);
6326 let error = endpoint.expect_err("expected error: S3 Outposts does not support S3 Accelerate [S3 outposts does not support accelerate]");
6327 assert_eq!(format!("{}", error), "S3 Outposts does not support S3 Accelerate")
6328 }
6329
6330 #[test]
6332 fn test_226() {
6333 let params = crate::config::endpoint::Params::builder()
6334 .region("us-west-2".to_string())
6335 .use_fips(false)
6336 .use_dual_stack(false)
6337 .accelerate(false)
6338 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:mybucket:object:foo".to_string())
6339 .build()
6340 .expect("invalid params");
6341 let resolver = crate::config::endpoint::DefaultResolver::new();
6342 let endpoint = resolver.resolve_endpoint(¶ms);
6343 let error =
6344 endpoint.expect_err("expected error: Invalid Arn: Outpost Access Point ARN contains sub resources [validates against subresource]");
6345 assert_eq!(format!("{}", error), "Invalid Arn: Outpost Access Point ARN contains sub resources")
6346 }
6347
6348 #[test]
6350 fn test_227() {
6351 let params = crate::config::endpoint::Params::builder()
6352 .region("us-east-1".to_string())
6353 .use_fips(false)
6354 .use_dual_stack(false)
6355 .accelerate(false)
6356 .use_arn_region(false)
6357 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6358 .build()
6359 .expect("invalid params");
6360 let resolver = crate::config::endpoint::DefaultResolver::new();
6361 let endpoint = resolver.resolve_endpoint(¶ms);
6362 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
6363 assert_eq!(
6364 endpoint,
6365 ::aws_smithy_types::endpoint::Endpoint::builder()
6366 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
6367 .property(
6368 "authSchemes",
6369 vec![::aws_smithy_types::Document::from({
6370 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6371 out.insert("name".to_string(), "sigv4".to_string().into());
6372 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6373 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6374 out.insert("disableDoubleEncoding".to_string(), true.into());
6375 out
6376 })]
6377 )
6378 .build()
6379 );
6380 }
6381
6382 #[test]
6384 fn test_228() {
6385 let params = crate::config::endpoint::Params::builder()
6386 .region("us-west-2".to_string())
6387 .use_fips(false)
6388 .use_dual_stack(false)
6389 .accelerate(false)
6390 .use_arn_region(false)
6391 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6392 .build()
6393 .expect("invalid params");
6394 let resolver = crate::config::endpoint::DefaultResolver::new();
6395 let endpoint = resolver.resolve_endpoint(¶ms);
6396 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com");
6397 assert_eq!(
6398 endpoint,
6399 ::aws_smithy_types::endpoint::Endpoint::builder()
6400 .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com")
6401 .property(
6402 "authSchemes",
6403 vec![::aws_smithy_types::Document::from({
6404 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6405 out.insert("name".to_string(), "sigv4".to_string().into());
6406 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6407 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6408 out.insert("disableDoubleEncoding".to_string(), true.into());
6409 out
6410 })]
6411 )
6412 .build()
6413 );
6414 }
6415
6416 #[test]
6418 fn test_229() {
6419 let params = crate::config::endpoint::Params::builder()
6420 .region("us-west-2".to_string())
6421 .use_fips(false)
6422 .use_dual_stack(false)
6423 .accelerate(false)
6424 .use_arn_region(false)
6425 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner".to_string())
6426 .build()
6427 .expect("invalid params");
6428 let resolver = crate::config::endpoint::DefaultResolver::new();
6429 let endpoint = resolver.resolve_endpoint(¶ms);
6430 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com");
6431 assert_eq!(
6432 endpoint,
6433 ::aws_smithy_types::endpoint::Endpoint::builder()
6434 .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com")
6435 .property(
6436 "authSchemes",
6437 vec![::aws_smithy_types::Document::from({
6438 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6439 out.insert("name".to_string(), "sigv4".to_string().into());
6440 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6441 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6442 out.insert("disableDoubleEncoding".to_string(), true.into());
6443 out
6444 })]
6445 )
6446 .build()
6447 );
6448 }
6449
6450 #[test]
6452 fn test_230() {
6453 let params = crate::config::endpoint::Params::builder()
6454 .region("us-west-2".to_string())
6455 .use_fips(false)
6456 .use_dual_stack(false)
6457 .accelerate(false)
6458 .use_arn_region(true)
6459 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6460 .build()
6461 .expect("invalid params");
6462 let resolver = crate::config::endpoint::DefaultResolver::new();
6463 let endpoint = resolver.resolve_endpoint(¶ms);
6464 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
6465 assert_eq!(
6466 endpoint,
6467 ::aws_smithy_types::endpoint::Endpoint::builder()
6468 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
6469 .property(
6470 "authSchemes",
6471 vec![::aws_smithy_types::Document::from({
6472 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6473 out.insert("name".to_string(), "sigv4".to_string().into());
6474 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6475 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6476 out.insert("disableDoubleEncoding".to_string(), true.into());
6477 out
6478 })]
6479 )
6480 .build()
6481 );
6482 }
6483
6484 #[test]
6486 fn test_231() {
6487 let params = crate::config::endpoint::Params::builder()
6488 .region("s3-external-1".to_string())
6489 .use_fips(false)
6490 .use_dual_stack(false)
6491 .accelerate(false)
6492 .use_arn_region(true)
6493 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6494 .build()
6495 .expect("invalid params");
6496 let resolver = crate::config::endpoint::DefaultResolver::new();
6497 let endpoint = resolver.resolve_endpoint(¶ms);
6498 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
6499 assert_eq!(
6500 endpoint,
6501 ::aws_smithy_types::endpoint::Endpoint::builder()
6502 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
6503 .property(
6504 "authSchemes",
6505 vec![::aws_smithy_types::Document::from({
6506 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6507 out.insert("name".to_string(), "sigv4".to_string().into());
6508 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6509 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6510 out.insert("disableDoubleEncoding".to_string(), true.into());
6511 out
6512 })]
6513 )
6514 .build()
6515 );
6516 }
6517
6518 #[test]
6520 fn test_232() {
6521 let params = crate::config::endpoint::Params::builder()
6522 .region("s3-external-1".to_string())
6523 .use_fips(false)
6524 .use_dual_stack(false)
6525 .accelerate(false)
6526 .use_arn_region(false)
6527 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6528 .build()
6529 .expect("invalid params");
6530 let resolver = crate::config::endpoint::DefaultResolver::new();
6531 let endpoint = resolver.resolve_endpoint(¶ms);
6532 let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false` [object lambda @us-east-1, client region s3-external-1, useArnRegion=false]");
6533 assert_eq!(
6534 format!("{}", error),
6535 "Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`"
6536 )
6537 }
6538
6539 #[test]
6541 fn test_233() {
6542 let params = crate::config::endpoint::Params::builder()
6543 .region("aws-global".to_string())
6544 .use_fips(false)
6545 .use_dual_stack(false)
6546 .accelerate(false)
6547 .use_arn_region(true)
6548 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6549 .build()
6550 .expect("invalid params");
6551 let resolver = crate::config::endpoint::DefaultResolver::new();
6552 let endpoint = resolver.resolve_endpoint(¶ms);
6553 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
6554 assert_eq!(
6555 endpoint,
6556 ::aws_smithy_types::endpoint::Endpoint::builder()
6557 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
6558 .property(
6559 "authSchemes",
6560 vec![::aws_smithy_types::Document::from({
6561 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6562 out.insert("name".to_string(), "sigv4".to_string().into());
6563 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6564 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6565 out.insert("disableDoubleEncoding".to_string(), true.into());
6566 out
6567 })]
6568 )
6569 .build()
6570 );
6571 }
6572
6573 #[test]
6575 fn test_234() {
6576 let params = crate::config::endpoint::Params::builder()
6577 .region("aws-global".to_string())
6578 .use_fips(false)
6579 .use_dual_stack(false)
6580 .accelerate(false)
6581 .use_arn_region(false)
6582 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6583 .build()
6584 .expect("invalid params");
6585 let resolver = crate::config::endpoint::DefaultResolver::new();
6586 let endpoint = resolver.resolve_endpoint(¶ms);
6587 let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `aws-global` and UseArnRegion is `false` [object lambda @us-east-1, client region aws-global, useArnRegion=false]");
6588 assert_eq!(
6589 format!("{}", error),
6590 "Invalid configuration: region from ARN `us-east-1` does not match client region `aws-global` and UseArnRegion is `false`"
6591 )
6592 }
6593
6594 #[test]
6596 fn test_235() {
6597 let params = crate::config::endpoint::Params::builder()
6598 .region("aws-global".to_string())
6599 .use_fips(false)
6600 .use_dual_stack(false)
6601 .accelerate(false)
6602 .use_arn_region(true)
6603 .bucket("arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner".to_string())
6604 .build()
6605 .expect("invalid params");
6606 let resolver = crate::config::endpoint::DefaultResolver::new();
6607 let endpoint = resolver.resolve_endpoint(¶ms);
6608 let error = endpoint.expect_err("expected error: Client was configured for partition `aws` but ARN (`arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner`) has `aws-cn` [object lambda @cn-north-1, client region us-west-2 (cross partition), useArnRegion=true]");
6609 assert_eq!(format!("{}", error), "Client was configured for partition `aws` but ARN (`arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner`) has `aws-cn`")
6610 }
6611
6612 #[test]
6614 fn test_236() {
6615 let params = crate::config::endpoint::Params::builder()
6616 .region("us-west-2".to_string())
6617 .use_fips(false)
6618 .use_dual_stack(true)
6619 .accelerate(false)
6620 .use_arn_region(false)
6621 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6622 .build()
6623 .expect("invalid params");
6624 let resolver = crate::config::endpoint::DefaultResolver::new();
6625 let endpoint = resolver.resolve_endpoint(¶ms);
6626 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support Dual-stack [object lambda with dualstack]");
6627 assert_eq!(format!("{}", error), "S3 Object Lambda does not support Dual-stack")
6628 }
6629
6630 #[test]
6632 fn test_237() {
6633 let params = crate::config::endpoint::Params::builder()
6634 .region("us-gov-east-1".to_string())
6635 .use_fips(false)
6636 .use_dual_stack(false)
6637 .accelerate(false)
6638 .use_arn_region(false)
6639 .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
6640 .build()
6641 .expect("invalid params");
6642 let resolver = crate::config::endpoint::DefaultResolver::new();
6643 let endpoint = resolver.resolve_endpoint(¶ms);
6644 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com");
6645 assert_eq!(
6646 endpoint,
6647 ::aws_smithy_types::endpoint::Endpoint::builder()
6648 .url("https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com")
6649 .property(
6650 "authSchemes",
6651 vec![::aws_smithy_types::Document::from({
6652 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6653 out.insert("name".to_string(), "sigv4".to_string().into());
6654 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6655 out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
6656 out.insert("disableDoubleEncoding".to_string(), true.into());
6657 out
6658 })]
6659 )
6660 .build()
6661 );
6662 }
6663
6664 #[test]
6666 fn test_238() {
6667 let params = crate::config::endpoint::Params::builder()
6668 .region("us-gov-east-1".to_string())
6669 .use_fips(true)
6670 .use_dual_stack(false)
6671 .accelerate(false)
6672 .use_arn_region(false)
6673 .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
6674 .build()
6675 .expect("invalid params");
6676 let resolver = crate::config::endpoint::DefaultResolver::new();
6677 let endpoint = resolver.resolve_endpoint(¶ms);
6678 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com");
6679 assert_eq!(
6680 endpoint,
6681 ::aws_smithy_types::endpoint::Endpoint::builder()
6682 .url("https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com")
6683 .property(
6684 "authSchemes",
6685 vec![::aws_smithy_types::Document::from({
6686 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6687 out.insert("name".to_string(), "sigv4".to_string().into());
6688 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6689 out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
6690 out.insert("disableDoubleEncoding".to_string(), true.into());
6691 out
6692 })]
6693 )
6694 .build()
6695 );
6696 }
6697
6698 #[test]
6700 fn test_239() {
6701 let params = crate::config::endpoint::Params::builder()
6702 .region("cn-north-1".to_string())
6703 .use_fips(true)
6704 .use_dual_stack(false)
6705 .accelerate(false)
6706 .use_arn_region(false)
6707 .bucket("arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner".to_string())
6708 .build()
6709 .expect("invalid params");
6710 let resolver = crate::config::endpoint::DefaultResolver::new();
6711 let endpoint = resolver.resolve_endpoint(¶ms);
6712 let error = endpoint.expect_err("expected error: Partition does not support FIPS [object lambda @cn-north-1, with fips]");
6713 assert_eq!(format!("{}", error), "Partition does not support FIPS")
6714 }
6715
6716 #[test]
6718 fn test_240() {
6719 let params = crate::config::endpoint::Params::builder()
6720 .region("us-west-2".to_string())
6721 .use_fips(false)
6722 .use_dual_stack(false)
6723 .accelerate(true)
6724 .use_arn_region(false)
6725 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6726 .build()
6727 .expect("invalid params");
6728 let resolver = crate::config::endpoint::DefaultResolver::new();
6729 let endpoint = resolver.resolve_endpoint(¶ms);
6730 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support S3 Accelerate [object lambda with accelerate]");
6731 assert_eq!(format!("{}", error), "S3 Object Lambda does not support S3 Accelerate")
6732 }
6733
6734 #[test]
6736 fn test_241() {
6737 let params = crate::config::endpoint::Params::builder()
6738 .region("us-west-2".to_string())
6739 .use_fips(false)
6740 .use_dual_stack(false)
6741 .accelerate(false)
6742 .use_arn_region(false)
6743 .bucket("arn:aws:sqs:us-west-2:123456789012:someresource".to_string())
6744 .build()
6745 .expect("invalid params");
6746 let resolver = crate::config::endpoint::DefaultResolver::new();
6747 let endpoint = resolver.resolve_endpoint(¶ms);
6748 let error = endpoint.expect_err("expected error: Invalid ARN: Unrecognized format: arn:aws:sqs:us-west-2:123456789012:someresource (type: someresource) [object lambda with invalid arn - bad service and someresource]");
6749 assert_eq!(
6750 format!("{}", error),
6751 "Invalid ARN: Unrecognized format: arn:aws:sqs:us-west-2:123456789012:someresource (type: someresource)"
6752 )
6753 }
6754
6755 #[test]
6757 fn test_242() {
6758 let params = crate::config::endpoint::Params::builder()
6759 .region("us-west-2".to_string())
6760 .use_fips(false)
6761 .use_dual_stack(false)
6762 .accelerate(false)
6763 .use_arn_region(false)
6764 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:bucket_name:mybucket".to_string())
6765 .build()
6766 .expect("invalid params");
6767 let resolver = crate::config::endpoint::DefaultResolver::new();
6768 let endpoint = resolver.resolve_endpoint(¶ms);
6769 let error = endpoint.expect_err("expected error: Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `bucket_name` [object lambda with invalid arn - invalid resource]");
6770 assert_eq!(
6771 format!("{}", error),
6772 "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `bucket_name`"
6773 )
6774 }
6775
6776 #[test]
6778 fn test_243() {
6779 let params = crate::config::endpoint::Params::builder()
6780 .region("us-west-2".to_string())
6781 .use_fips(false)
6782 .use_dual_stack(false)
6783 .accelerate(false)
6784 .use_arn_region(false)
6785 .bucket("arn:aws:s3-object-lambda::123456789012:accesspoint/mybanner".to_string())
6786 .build()
6787 .expect("invalid params");
6788 let resolver = crate::config::endpoint::DefaultResolver::new();
6789 let endpoint = resolver.resolve_endpoint(¶ms);
6790 let error =
6791 endpoint.expect_err("expected error: Invalid ARN: bucket ARN is missing a region [object lambda with invalid arn - missing region]");
6792 assert_eq!(format!("{}", error), "Invalid ARN: bucket ARN is missing a region")
6793 }
6794
6795 #[test]
6797 fn test_244() {
6798 let params = crate::config::endpoint::Params::builder()
6799 .region("us-west-2".to_string())
6800 .use_fips(false)
6801 .use_dual_stack(false)
6802 .accelerate(false)
6803 .use_arn_region(true)
6804 .bucket("arn:aws:s3-object-lambda:us-west-2::accesspoint/mybanner".to_string())
6805 .build()
6806 .expect("invalid params");
6807 let resolver = crate::config::endpoint::DefaultResolver::new();
6808 let endpoint = resolver.resolve_endpoint(¶ms);
6809 let error = endpoint.expect_err("expected error: Invalid ARN: Missing account id [object lambda with invalid arn - missing account-id]");
6810 assert_eq!(format!("{}", error), "Invalid ARN: Missing account id")
6811 }
6812
6813 #[test]
6815 fn test_245() {
6816 let params = crate::config::endpoint::Params::builder()
6817 .region("us-west-2".to_string())
6818 .use_fips(false)
6819 .use_dual_stack(false)
6820 .accelerate(false)
6821 .use_arn_region(true)
6822 .bucket("arn:aws:s3-object-lambda:us-west-2:123.45678.9012:accesspoint:mybucket".to_string())
6823 .build()
6824 .expect("invalid params");
6825 let resolver = crate::config::endpoint::DefaultResolver::new();
6826 let endpoint = resolver.resolve_endpoint(¶ms);
6827 let error = endpoint.expect_err("expected error: Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123.45678.9012` [object lambda with invalid arn - account id contains invalid characters]");
6828 assert_eq!(
6829 format!("{}", error),
6830 "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123.45678.9012`"
6831 )
6832 }
6833
6834 #[test]
6836 fn test_246() {
6837 let params = crate::config::endpoint::Params::builder()
6838 .region("us-west-2".to_string())
6839 .use_fips(false)
6840 .use_dual_stack(false)
6841 .accelerate(false)
6842 .use_arn_region(true)
6843 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint".to_string())
6844 .build()
6845 .expect("invalid params");
6846 let resolver = crate::config::endpoint::DefaultResolver::new();
6847 let endpoint = resolver.resolve_endpoint(¶ms);
6848 let error = endpoint.expect_err("expected error: Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided [object lambda with invalid arn - missing access point name]");
6849 assert_eq!(
6850 format!("{}", error),
6851 "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided"
6852 )
6853 }
6854
6855 #[test]
6857 fn test_247() {
6858 let params = crate::config::endpoint::Params::builder()
6859 .region("us-west-2".to_string())
6860 .use_fips(false)
6861 .use_dual_stack(false)
6862 .accelerate(false)
6863 .use_arn_region(true)
6864 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:*".to_string())
6865 .build()
6866 .expect("invalid params");
6867 let resolver = crate::config::endpoint::DefaultResolver::new();
6868 let endpoint = resolver.resolve_endpoint(¶ms);
6869 let error = endpoint.expect_err("expected error: Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `*` [object lambda with invalid arn - access point name contains invalid character: *]");
6870 assert_eq!(
6871 format!("{}", error),
6872 "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `*`"
6873 )
6874 }
6875
6876 #[test]
6878 fn test_248() {
6879 let params = crate::config::endpoint::Params::builder()
6880 .region("us-west-2".to_string())
6881 .use_fips(false)
6882 .use_dual_stack(false)
6883 .accelerate(false)
6884 .use_arn_region(true)
6885 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:my.bucket".to_string())
6886 .build()
6887 .expect("invalid params");
6888 let resolver = crate::config::endpoint::DefaultResolver::new();
6889 let endpoint = resolver.resolve_endpoint(¶ms);
6890 let error = endpoint.expect_err("expected error: Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `my.bucket` [object lambda with invalid arn - access point name contains invalid character: .]");
6891 assert_eq!(
6892 format!("{}", error),
6893 "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `my.bucket`"
6894 )
6895 }
6896
6897 #[test]
6899 fn test_249() {
6900 let params = crate::config::endpoint::Params::builder()
6901 .region("us-west-2".to_string())
6902 .use_fips(false)
6903 .use_dual_stack(false)
6904 .accelerate(false)
6905 .use_arn_region(true)
6906 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybucket:object:foo".to_string())
6907 .build()
6908 .expect("invalid params");
6909 let resolver = crate::config::endpoint::DefaultResolver::new();
6910 let endpoint = resolver.resolve_endpoint(¶ms);
6911 let error = endpoint.expect_err("expected error: Invalid ARN: The ARN may only contain a single resource component after `accesspoint`. [object lambda with invalid arn - access point name contains sub resources]");
6912 assert_eq!(
6913 format!("{}", error),
6914 "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."
6915 )
6916 }
6917
6918 #[test]
6920 fn test_250() {
6921 let params = crate::config::endpoint::Params::builder()
6922 .region("us-west-2".to_string())
6923 .use_fips(false)
6924 .use_dual_stack(false)
6925 .accelerate(false)
6926 .use_arn_region(false)
6927 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6928 .endpoint("https://my-endpoint.com".to_string())
6929 .build()
6930 .expect("invalid params");
6931 let resolver = crate::config::endpoint::DefaultResolver::new();
6932 let endpoint = resolver.resolve_endpoint(¶ms);
6933 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.my-endpoint.com");
6934 assert_eq!(
6935 endpoint,
6936 ::aws_smithy_types::endpoint::Endpoint::builder()
6937 .url("https://mybanner-123456789012.my-endpoint.com")
6938 .property(
6939 "authSchemes",
6940 vec![::aws_smithy_types::Document::from({
6941 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6942 out.insert("name".to_string(), "sigv4".to_string().into());
6943 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6944 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6945 out.insert("disableDoubleEncoding".to_string(), true.into());
6946 out
6947 })]
6948 )
6949 .build()
6950 );
6951 }
6952
6953 #[test]
6955 fn test_251() {
6956 let params = crate::config::endpoint::Params::builder()
6957 .accelerate(false)
6958 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6959 .force_path_style(false)
6960 .use_arn_region(false)
6961 .region("us-west-2".to_string())
6962 .use_dual_stack(false)
6963 .use_fips(false)
6964 .build()
6965 .expect("invalid params");
6966 let resolver = crate::config::endpoint::DefaultResolver::new();
6967 let endpoint = resolver.resolve_endpoint(¶ms);
6968 let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false` [object lambda arn with region mismatch and UseArnRegion=false]");
6969 assert_eq!(
6970 format!("{}", error),
6971 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
6972 )
6973 }
6974
6975 #[test]
6977 fn test_252() {
6978 let params = crate::config::endpoint::Params::builder()
6979 .accelerate(false)
6980 .use_object_lambda_endpoint(true)
6981 .region("us-west-2".to_string())
6982 .use_dual_stack(false)
6983 .use_fips(false)
6984 .build()
6985 .expect("invalid params");
6986 let resolver = crate::config::endpoint::DefaultResolver::new();
6987 let endpoint = resolver.resolve_endpoint(¶ms);
6988 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-west-2.amazonaws.com");
6989 assert_eq!(
6990 endpoint,
6991 ::aws_smithy_types::endpoint::Endpoint::builder()
6992 .url("https://s3-object-lambda.us-west-2.amazonaws.com")
6993 .property(
6994 "authSchemes",
6995 vec![::aws_smithy_types::Document::from({
6996 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6997 out.insert("name".to_string(), "sigv4".to_string().into());
6998 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6999 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
7000 out.insert("disableDoubleEncoding".to_string(), true.into());
7001 out
7002 })]
7003 )
7004 .build()
7005 );
7006 }
7007
7008 #[test]
7010 fn test_253() {
7011 let params = crate::config::endpoint::Params::builder()
7012 .accelerate(false)
7013 .use_object_lambda_endpoint(true)
7014 .endpoint("https://my-endpoint.com".to_string())
7015 .region("us-west-2".to_string())
7016 .use_dual_stack(false)
7017 .use_fips(false)
7018 .build()
7019 .expect("invalid params");
7020 let resolver = crate::config::endpoint::DefaultResolver::new();
7021 let endpoint = resolver.resolve_endpoint(¶ms);
7022 let endpoint = endpoint.expect("Expected valid endpoint: https://my-endpoint.com");
7023 assert_eq!(
7024 endpoint,
7025 ::aws_smithy_types::endpoint::Endpoint::builder()
7026 .url("https://my-endpoint.com")
7027 .property(
7028 "authSchemes",
7029 vec![::aws_smithy_types::Document::from({
7030 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7031 out.insert("name".to_string(), "sigv4".to_string().into());
7032 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7033 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
7034 out.insert("disableDoubleEncoding".to_string(), true.into());
7035 out
7036 })]
7037 )
7038 .build()
7039 );
7040 }
7041
7042 #[test]
7044 fn test_254() {
7045 let params = crate::config::endpoint::Params::builder()
7046 .accelerate(false)
7047 .use_object_lambda_endpoint(true)
7048 .region("us-east-1".to_string())
7049 .use_dual_stack(false)
7050 .use_fips(false)
7051 .build()
7052 .expect("invalid params");
7053 let resolver = crate::config::endpoint::DefaultResolver::new();
7054 let endpoint = resolver.resolve_endpoint(¶ms);
7055 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east-1.amazonaws.com");
7056 assert_eq!(
7057 endpoint,
7058 ::aws_smithy_types::endpoint::Endpoint::builder()
7059 .url("https://s3-object-lambda.us-east-1.amazonaws.com")
7060 .property(
7061 "authSchemes",
7062 vec![::aws_smithy_types::Document::from({
7063 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7064 out.insert("name".to_string(), "sigv4".to_string().into());
7065 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7066 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7067 out.insert("disableDoubleEncoding".to_string(), true.into());
7068 out
7069 })]
7070 )
7071 .build()
7072 );
7073 }
7074
7075 #[test]
7077 fn test_255() {
7078 let params = crate::config::endpoint::Params::builder()
7079 .accelerate(false)
7080 .use_object_lambda_endpoint(true)
7081 .region("us-east-1".to_string())
7082 .use_dual_stack(false)
7083 .use_fips(true)
7084 .build()
7085 .expect("invalid params");
7086 let resolver = crate::config::endpoint::DefaultResolver::new();
7087 let endpoint = resolver.resolve_endpoint(¶ms);
7088 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda-fips.us-east-1.amazonaws.com");
7089 assert_eq!(
7090 endpoint,
7091 ::aws_smithy_types::endpoint::Endpoint::builder()
7092 .url("https://s3-object-lambda-fips.us-east-1.amazonaws.com")
7093 .property(
7094 "authSchemes",
7095 vec![::aws_smithy_types::Document::from({
7096 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7097 out.insert("name".to_string(), "sigv4".to_string().into());
7098 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7099 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7100 out.insert("disableDoubleEncoding".to_string(), true.into());
7101 out
7102 })]
7103 )
7104 .build()
7105 );
7106 }
7107
7108 #[test]
7110 fn test_256() {
7111 let params = crate::config::endpoint::Params::builder()
7112 .accelerate(false)
7113 .use_object_lambda_endpoint(true)
7114 .region("us-east-1".to_string())
7115 .use_dual_stack(true)
7116 .use_fips(false)
7117 .build()
7118 .expect("invalid params");
7119 let resolver = crate::config::endpoint::DefaultResolver::new();
7120 let endpoint = resolver.resolve_endpoint(¶ms);
7121 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support Dual-stack [WriteGetObjectResponse with dualstack]");
7122 assert_eq!(format!("{}", error), "S3 Object Lambda does not support Dual-stack")
7123 }
7124
7125 #[test]
7127 fn test_257() {
7128 let params = crate::config::endpoint::Params::builder()
7129 .accelerate(true)
7130 .use_object_lambda_endpoint(true)
7131 .region("us-east-1".to_string())
7132 .use_dual_stack(false)
7133 .use_fips(false)
7134 .build()
7135 .expect("invalid params");
7136 let resolver = crate::config::endpoint::DefaultResolver::new();
7137 let endpoint = resolver.resolve_endpoint(¶ms);
7138 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support S3 Accelerate [WriteGetObjectResponse with accelerate]");
7139 assert_eq!(format!("{}", error), "S3 Object Lambda does not support S3 Accelerate")
7140 }
7141
7142 #[test]
7144 fn test_258() {
7145 let params = crate::config::endpoint::Params::builder()
7146 .accelerate(false)
7147 .region("cn-north-1".to_string())
7148 .use_object_lambda_endpoint(true)
7149 .use_dual_stack(false)
7150 .use_fips(true)
7151 .build()
7152 .expect("invalid params");
7153 let resolver = crate::config::endpoint::DefaultResolver::new();
7154 let endpoint = resolver.resolve_endpoint(¶ms);
7155 let error = endpoint.expect_err("expected error: Partition does not support FIPS [WriteGetObjectResponse with fips in CN]");
7156 assert_eq!(format!("{}", error), "Partition does not support FIPS")
7157 }
7158
7159 #[test]
7161 fn test_259() {
7162 let params = crate::config::endpoint::Params::builder()
7163 .accelerate(false)
7164 .use_object_lambda_endpoint(true)
7165 .region("not a valid DNS name".to_string())
7166 .use_dual_stack(false)
7167 .use_fips(false)
7168 .build()
7169 .expect("invalid params");
7170 let resolver = crate::config::endpoint::DefaultResolver::new();
7171 let endpoint = resolver.resolve_endpoint(¶ms);
7172 let error =
7173 endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [WriteGetObjectResponse with invalid partition]");
7174 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
7175 }
7176
7177 #[test]
7179 fn test_260() {
7180 let params = crate::config::endpoint::Params::builder()
7181 .accelerate(false)
7182 .use_object_lambda_endpoint(true)
7183 .region("us-east.special".to_string())
7184 .use_dual_stack(false)
7185 .use_fips(false)
7186 .build()
7187 .expect("invalid params");
7188 let resolver = crate::config::endpoint::DefaultResolver::new();
7189 let endpoint = resolver.resolve_endpoint(¶ms);
7190 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east.special.amazonaws.com");
7191 assert_eq!(
7192 endpoint,
7193 ::aws_smithy_types::endpoint::Endpoint::builder()
7194 .url("https://s3-object-lambda.us-east.special.amazonaws.com")
7195 .property(
7196 "authSchemes",
7197 vec![::aws_smithy_types::Document::from({
7198 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7199 out.insert("name".to_string(), "sigv4".to_string().into());
7200 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7201 out.insert("disableDoubleEncoding".to_string(), true.into());
7202 out.insert("signingRegion".to_string(), "us-east.special".to_string().into());
7203 out
7204 })]
7205 )
7206 .build()
7207 );
7208 }
7209
7210 #[test]
7212 fn test_261() {
7213 let params = crate::config::endpoint::Params::builder()
7214 .region("us-west-1".to_string())
7215 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7216 .use_fips(false)
7217 .use_dual_stack(false)
7218 .accelerate(false)
7219 .build()
7220 .expect("invalid params");
7221 let resolver = crate::config::endpoint::DefaultResolver::new();
7222 let endpoint = resolver.resolve_endpoint(¶ms);
7223 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com");
7224 assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com")
7225 .property("authSchemes", vec![::aws_smithy_types::Document::from( {
7226 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7227 out.insert("name".to_string(), "sigv4a".to_string().into());
7228 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7229 out.insert("signingRegionSet".to_string(), vec![::aws_smithy_types::Document::from("*".to_string())].into());
7230 out.insert("disableDoubleEncoding".to_string(), true.into());
7231 out
7232 })
7233 ,::aws_smithy_types::Document::from( {
7234 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7235 out.insert("name".to_string(), "sigv4".to_string().into());
7236 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7237 out.insert("signingRegion".to_string(), "us-west-1".to_string().into());
7238 out.insert("disableDoubleEncoding".to_string(), true.into());
7239 out
7240 })])
7241 .build());
7242 }
7243
7244 #[test]
7246 fn test_262() {
7247 let params = crate::config::endpoint::Params::builder()
7248 .region("ap-east-1".to_string())
7249 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7250 .use_fips(false)
7251 .use_dual_stack(false)
7252 .accelerate(false)
7253 .build()
7254 .expect("invalid params");
7255 let resolver = crate::config::endpoint::DefaultResolver::new();
7256 let endpoint = resolver.resolve_endpoint(¶ms);
7257 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.ap-east-1.amazonaws.com");
7258 assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.ap-east-1.amazonaws.com")
7259 .property("authSchemes", vec![::aws_smithy_types::Document::from( {
7260 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7261 out.insert("name".to_string(), "sigv4a".to_string().into());
7262 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7263 out.insert("signingRegionSet".to_string(), vec![::aws_smithy_types::Document::from("*".to_string())].into());
7264 out.insert("disableDoubleEncoding".to_string(), true.into());
7265 out
7266 })
7267 ,::aws_smithy_types::Document::from( {
7268 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7269 out.insert("name".to_string(), "sigv4".to_string().into());
7270 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7271 out.insert("signingRegion".to_string(), "ap-east-1".to_string().into());
7272 out.insert("disableDoubleEncoding".to_string(), true.into());
7273 out
7274 })])
7275 .build());
7276 }
7277
7278 #[test]
7280 fn test_263() {
7281 let params = crate::config::endpoint::Params::builder()
7282 .region("us-east-1".to_string())
7283 .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7284 .use_fips(false)
7285 .use_dual_stack(false)
7286 .accelerate(false)
7287 .build()
7288 .expect("invalid params");
7289 let resolver = crate::config::endpoint::DefaultResolver::new();
7290 let endpoint = resolver.resolve_endpoint(¶ms);
7291 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com");
7292 assert_eq!(
7293 endpoint,
7294 ::aws_smithy_types::endpoint::Endpoint::builder()
7295 .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com")
7296 .property(
7297 "authSchemes",
7298 vec![
7299 ::aws_smithy_types::Document::from({
7300 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7301 out.insert("name".to_string(), "sigv4a".to_string().into());
7302 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7303 out.insert(
7304 "signingRegionSet".to_string(),
7305 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7306 );
7307 out.insert("disableDoubleEncoding".to_string(), true.into());
7308 out
7309 }),
7310 ::aws_smithy_types::Document::from({
7311 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7312 out.insert("name".to_string(), "sigv4".to_string().into());
7313 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7314 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7315 out.insert("disableDoubleEncoding".to_string(), true.into());
7316 out
7317 })
7318 ]
7319 )
7320 .build()
7321 );
7322 }
7323
7324 #[test]
7326 fn test_264() {
7327 let params = crate::config::endpoint::Params::builder()
7328 .region("me-south-1".to_string())
7329 .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7330 .use_fips(false)
7331 .use_dual_stack(false)
7332 .accelerate(false)
7333 .build()
7334 .expect("invalid params");
7335 let resolver = crate::config::endpoint::DefaultResolver::new();
7336 let endpoint = resolver.resolve_endpoint(¶ms);
7337 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com");
7338 assert_eq!(
7339 endpoint,
7340 ::aws_smithy_types::endpoint::Endpoint::builder()
7341 .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com")
7342 .property(
7343 "authSchemes",
7344 vec![
7345 ::aws_smithy_types::Document::from({
7346 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7347 out.insert("name".to_string(), "sigv4a".to_string().into());
7348 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7349 out.insert(
7350 "signingRegionSet".to_string(),
7351 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7352 );
7353 out.insert("disableDoubleEncoding".to_string(), true.into());
7354 out
7355 }),
7356 ::aws_smithy_types::Document::from({
7357 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7358 out.insert("name".to_string(), "sigv4".to_string().into());
7359 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7360 out.insert("signingRegion".to_string(), "me-south-1".to_string().into());
7361 out.insert("disableDoubleEncoding".to_string(), true.into());
7362 out
7363 })
7364 ]
7365 )
7366 .build()
7367 );
7368 }
7369
7370 #[test]
7372 fn test_265() {
7373 let params = crate::config::endpoint::Params::builder()
7374 .region("us-east-1".to_string())
7375 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3".to_string())
7376 .endpoint("https://example.amazonaws.com".to_string())
7377 .use_fips(false)
7378 .use_dual_stack(false)
7379 .accelerate(false)
7380 .build()
7381 .expect("invalid params");
7382 let resolver = crate::config::endpoint::DefaultResolver::new();
7383 let endpoint = resolver.resolve_endpoint(¶ms);
7384 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com");
7385 assert_eq!(
7386 endpoint,
7387 ::aws_smithy_types::endpoint::Endpoint::builder()
7388 .url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com")
7389 .property(
7390 "authSchemes",
7391 vec![
7392 ::aws_smithy_types::Document::from({
7393 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7394 out.insert("name".to_string(), "sigv4a".to_string().into());
7395 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7396 out.insert(
7397 "signingRegionSet".to_string(),
7398 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7399 );
7400 out.insert("disableDoubleEncoding".to_string(), true.into());
7401 out
7402 }),
7403 ::aws_smithy_types::Document::from({
7404 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7405 out.insert("name".to_string(), "sigv4".to_string().into());
7406 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7407 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7408 out.insert("disableDoubleEncoding".to_string(), true.into());
7409 out
7410 })
7411 ]
7412 )
7413 .build()
7414 );
7415 }
7416
7417 #[test]
7419 fn test_266() {
7420 let params = crate::config::endpoint::Params::builder()
7421 .region("us-east-1".to_string())
7422 .bucket("161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3".to_string())
7423 .endpoint("https://example.amazonaws.com".to_string())
7424 .use_fips(false)
7425 .use_dual_stack(false)
7426 .accelerate(false)
7427 .build()
7428 .expect("invalid params");
7429 let resolver = crate::config::endpoint::DefaultResolver::new();
7430 let endpoint = resolver.resolve_endpoint(¶ms);
7431 let endpoint = endpoint
7432 .expect("Expected valid endpoint: https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com");
7433 assert_eq!(
7434 endpoint,
7435 ::aws_smithy_types::endpoint::Endpoint::builder()
7436 .url("https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com")
7437 .property(
7438 "authSchemes",
7439 vec![
7440 ::aws_smithy_types::Document::from({
7441 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7442 out.insert("name".to_string(), "sigv4a".to_string().into());
7443 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7444 out.insert(
7445 "signingRegionSet".to_string(),
7446 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7447 );
7448 out.insert("disableDoubleEncoding".to_string(), true.into());
7449 out
7450 }),
7451 ::aws_smithy_types::Document::from({
7452 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7453 out.insert("name".to_string(), "sigv4".to_string().into());
7454 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7455 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7456 out.insert("disableDoubleEncoding".to_string(), true.into());
7457 out
7458 })
7459 ]
7460 )
7461 .build()
7462 );
7463 }
7464
7465 #[test]
7467 fn test_267() {
7468 let params = crate::config::endpoint::Params::builder()
7469 .region("us-east-1".to_string())
7470 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3".to_string())
7471 .use_fips(false)
7472 .use_dual_stack(false)
7473 .accelerate(false)
7474 .build()
7475 .expect("invalid params");
7476 let resolver = crate::config::endpoint::DefaultResolver::new();
7477 let endpoint = resolver.resolve_endpoint(¶ms);
7478 let error = endpoint.expect_err(
7479 "expected error: Expected a endpoint to be specified but no endpoint was found [S3 Outposts bucketAlias - No endpoint set for beta]",
7480 );
7481 assert_eq!(format!("{}", error), "Expected a endpoint to be specified but no endpoint was found")
7482 }
7483
7484 #[test]
7486 fn test_268() {
7487 let params = crate::config::endpoint::Params::builder()
7488 .region("us-east-1".to_string())
7489 .bucket("test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7490 .use_fips(false)
7491 .use_dual_stack(false)
7492 .accelerate(false)
7493 .build()
7494 .expect("invalid params");
7495 let resolver = crate::config::endpoint::DefaultResolver::new();
7496 let endpoint = resolver.resolve_endpoint(¶ms);
7497 let error = endpoint.expect_err(
7498 "expected error: Unrecognized hardware type: \"Expected hardware type o or e but got h\" [S3 Outposts bucketAlias Invalid hardware type]",
7499 );
7500 assert_eq!(
7501 format!("{}", error),
7502 "Unrecognized hardware type: \"Expected hardware type o or e but got h\""
7503 )
7504 }
7505
7506 #[test]
7508 fn test_269() {
7509 let params = crate::config::endpoint::Params::builder()
7510 .region("us-east-1".to_string())
7511 .bucket("test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7512 .use_fips(false)
7513 .use_dual_stack(false)
7514 .accelerate(false)
7515 .build()
7516 .expect("invalid params");
7517 let resolver = crate::config::endpoint::DefaultResolver::new();
7518 let endpoint = resolver.resolve_endpoint(¶ms);
7519 let error = endpoint.expect_err("expected error: Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`. [S3 Outposts bucketAlias Special character in Outpost Arn]");
7520 assert_eq!(
7521 format!("{}", error),
7522 "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."
7523 )
7524 }
7525
7526 #[test]
7528 fn test_270() {
7529 let params = crate::config::endpoint::Params::builder()
7530 .region("us-east-1".to_string())
7531 .bucket("test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3".to_string())
7532 .use_fips(false)
7533 .use_dual_stack(false)
7534 .accelerate(false)
7535 .build()
7536 .expect("invalid params");
7537 let resolver = crate::config::endpoint::DefaultResolver::new();
7538 let endpoint = resolver.resolve_endpoint(¶ms);
7539 let error = endpoint.expect_err(
7540 "expected error: Expected a endpoint to be specified but no endpoint was found [S3 Outposts bucketAlias - No endpoint set for beta]",
7541 );
7542 assert_eq!(format!("{}", error), "Expected a endpoint to be specified but no endpoint was found")
7543 }
7544
7545 #[test]
7547 fn test_271() {
7548 let params = crate::config::endpoint::Params::builder()
7549 .region("snow".to_string())
7550 .bucket("bucketName".to_string())
7551 .endpoint("http://10.0.1.12:433".to_string())
7552 .use_fips(false)
7553 .use_dual_stack(false)
7554 .accelerate(false)
7555 .build()
7556 .expect("invalid params");
7557 let resolver = crate::config::endpoint::DefaultResolver::new();
7558 let endpoint = resolver.resolve_endpoint(¶ms);
7559 let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12:433/bucketName");
7560 assert_eq!(
7561 endpoint,
7562 ::aws_smithy_types::endpoint::Endpoint::builder()
7563 .url("http://10.0.1.12:433/bucketName")
7564 .property(
7565 "authSchemes",
7566 vec![::aws_smithy_types::Document::from({
7567 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7568 out.insert("name".to_string(), "sigv4".to_string().into());
7569 out.insert("signingName".to_string(), "s3".to_string().into());
7570 out.insert("signingRegion".to_string(), "snow".to_string().into());
7571 out.insert("disableDoubleEncoding".to_string(), true.into());
7572 out
7573 })]
7574 )
7575 .build()
7576 );
7577 }
7578
7579 #[test]
7581 fn test_272() {
7582 let params = crate::config::endpoint::Params::builder()
7583 .region("snow".to_string())
7584 .endpoint("https://10.0.1.12:433".to_string())
7585 .use_fips(false)
7586 .use_dual_stack(false)
7587 .accelerate(false)
7588 .build()
7589 .expect("invalid params");
7590 let resolver = crate::config::endpoint::DefaultResolver::new();
7591 let endpoint = resolver.resolve_endpoint(¶ms);
7592 let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.1.12:433");
7593 assert_eq!(
7594 endpoint,
7595 ::aws_smithy_types::endpoint::Endpoint::builder()
7596 .url("https://10.0.1.12:433")
7597 .property(
7598 "authSchemes",
7599 vec![::aws_smithy_types::Document::from({
7600 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7601 out.insert("name".to_string(), "sigv4".to_string().into());
7602 out.insert("signingName".to_string(), "s3".to_string().into());
7603 out.insert("signingRegion".to_string(), "snow".to_string().into());
7604 out.insert("disableDoubleEncoding".to_string(), true.into());
7605 out
7606 })]
7607 )
7608 .build()
7609 );
7610 }
7611
7612 #[test]
7614 fn test_273() {
7615 let params = crate::config::endpoint::Params::builder()
7616 .region("snow".to_string())
7617 .bucket("bucketName".to_string())
7618 .endpoint("http://10.0.1.12".to_string())
7619 .use_fips(false)
7620 .use_dual_stack(false)
7621 .accelerate(false)
7622 .build()
7623 .expect("invalid params");
7624 let resolver = crate::config::endpoint::DefaultResolver::new();
7625 let endpoint = resolver.resolve_endpoint(¶ms);
7626 let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12/bucketName");
7627 assert_eq!(
7628 endpoint,
7629 ::aws_smithy_types::endpoint::Endpoint::builder()
7630 .url("http://10.0.1.12/bucketName")
7631 .property(
7632 "authSchemes",
7633 vec![::aws_smithy_types::Document::from({
7634 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7635 out.insert("name".to_string(), "sigv4".to_string().into());
7636 out.insert("signingName".to_string(), "s3".to_string().into());
7637 out.insert("signingRegion".to_string(), "snow".to_string().into());
7638 out.insert("disableDoubleEncoding".to_string(), true.into());
7639 out
7640 })]
7641 )
7642 .build()
7643 );
7644 }
7645
7646 #[test]
7648 fn test_274() {
7649 let params = crate::config::endpoint::Params::builder()
7650 .region("snow".to_string())
7651 .bucket("bucketName".to_string())
7652 .endpoint("https://amazonaws.com".to_string())
7653 .use_fips(false)
7654 .use_dual_stack(false)
7655 .accelerate(false)
7656 .build()
7657 .expect("invalid params");
7658 let resolver = crate::config::endpoint::DefaultResolver::new();
7659 let endpoint = resolver.resolve_endpoint(¶ms);
7660 let endpoint = endpoint.expect("Expected valid endpoint: https://amazonaws.com/bucketName");
7661 assert_eq!(
7662 endpoint,
7663 ::aws_smithy_types::endpoint::Endpoint::builder()
7664 .url("https://amazonaws.com/bucketName")
7665 .property(
7666 "authSchemes",
7667 vec![::aws_smithy_types::Document::from({
7668 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7669 out.insert("name".to_string(), "sigv4".to_string().into());
7670 out.insert("signingName".to_string(), "s3".to_string().into());
7671 out.insert("signingRegion".to_string(), "snow".to_string().into());
7672 out.insert("disableDoubleEncoding".to_string(), true.into());
7673 out
7674 })]
7675 )
7676 .build()
7677 );
7678 }
7679
7680 #[test]
7682 fn test_275() {
7683 let params = crate::config::endpoint::Params::builder()
7684 .region("us-east-1".to_string())
7685 .bucket("mybucket--use1-az1--x-s3".to_string())
7686 .use_fips(false)
7687 .use_dual_stack(false)
7688 .accelerate(false)
7689 .use_s3_express_control_endpoint(false)
7690 .build()
7691 .expect("invalid params");
7692 let resolver = crate::config::endpoint::DefaultResolver::new();
7693 let endpoint = resolver.resolve_endpoint(¶ms);
7694 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com");
7695 assert_eq!(
7696 endpoint,
7697 ::aws_smithy_types::endpoint::Endpoint::builder()
7698 .url("https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com")
7699 .property(
7700 "authSchemes",
7701 vec![::aws_smithy_types::Document::from({
7702 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7703 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7704 out.insert("signingName".to_string(), "s3express".to_string().into());
7705 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7706 out.insert("disableDoubleEncoding".to_string(), true.into());
7707 out
7708 })]
7709 )
7710 .property("backend", "S3Express".to_string())
7711 .build()
7712 );
7713 }
7714
7715 #[test]
7717 fn test_276() {
7718 let params = crate::config::endpoint::Params::builder()
7719 .region("us-east-1".to_string())
7720 .bucket("mybucket--use1-az1--x-s3".to_string())
7721 .use_fips(true)
7722 .use_dual_stack(false)
7723 .accelerate(false)
7724 .use_s3_express_control_endpoint(false)
7725 .build()
7726 .expect("invalid params");
7727 let resolver = crate::config::endpoint::DefaultResolver::new();
7728 let endpoint = resolver.resolve_endpoint(¶ms);
7729 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com");
7730 assert_eq!(
7731 endpoint,
7732 ::aws_smithy_types::endpoint::Endpoint::builder()
7733 .url("https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com")
7734 .property(
7735 "authSchemes",
7736 vec![::aws_smithy_types::Document::from({
7737 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7738 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7739 out.insert("signingName".to_string(), "s3express".to_string().into());
7740 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7741 out.insert("disableDoubleEncoding".to_string(), true.into());
7742 out
7743 })]
7744 )
7745 .property("backend", "S3Express".to_string())
7746 .build()
7747 );
7748 }
7749
7750 #[test]
7752 fn test_277() {
7753 let params = crate::config::endpoint::Params::builder()
7754 .region("ap-northeast-1".to_string())
7755 .bucket("mybucket--apne1-az1--x-s3".to_string())
7756 .use_fips(false)
7757 .use_dual_stack(false)
7758 .accelerate(false)
7759 .use_s3_express_control_endpoint(false)
7760 .build()
7761 .expect("invalid params");
7762 let resolver = crate::config::endpoint::DefaultResolver::new();
7763 let endpoint = resolver.resolve_endpoint(¶ms);
7764 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com");
7765 assert_eq!(
7766 endpoint,
7767 ::aws_smithy_types::endpoint::Endpoint::builder()
7768 .url("https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com")
7769 .property(
7770 "authSchemes",
7771 vec![::aws_smithy_types::Document::from({
7772 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7773 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7774 out.insert("signingName".to_string(), "s3express".to_string().into());
7775 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
7776 out.insert("disableDoubleEncoding".to_string(), true.into());
7777 out
7778 })]
7779 )
7780 .property("backend", "S3Express".to_string())
7781 .build()
7782 );
7783 }
7784
7785 #[test]
7787 fn test_278() {
7788 let params = crate::config::endpoint::Params::builder()
7789 .region("ap-northeast-1".to_string())
7790 .bucket("mybucket--apne1-az1--x-s3".to_string())
7791 .use_fips(true)
7792 .use_dual_stack(false)
7793 .accelerate(false)
7794 .use_s3_express_control_endpoint(false)
7795 .build()
7796 .expect("invalid params");
7797 let resolver = crate::config::endpoint::DefaultResolver::new();
7798 let endpoint = resolver.resolve_endpoint(¶ms);
7799 let endpoint =
7800 endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com");
7801 assert_eq!(
7802 endpoint,
7803 ::aws_smithy_types::endpoint::Endpoint::builder()
7804 .url("https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com")
7805 .property(
7806 "authSchemes",
7807 vec![::aws_smithy_types::Document::from({
7808 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7809 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7810 out.insert("signingName".to_string(), "s3express".to_string().into());
7811 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
7812 out.insert("disableDoubleEncoding".to_string(), true.into());
7813 out
7814 })]
7815 )
7816 .property("backend", "S3Express".to_string())
7817 .build()
7818 );
7819 }
7820
7821 #[test]
7823 fn test_279() {
7824 let params = crate::config::endpoint::Params::builder()
7825 .region("us-east-1".to_string())
7826 .bucket("mybucket--use1-az1--x-s3".to_string())
7827 .use_fips(false)
7828 .use_dual_stack(false)
7829 .accelerate(false)
7830 .use_s3_express_control_endpoint(true)
7831 .disable_s3_express_session_auth(false)
7832 .build()
7833 .expect("invalid params");
7834 let resolver = crate::config::endpoint::DefaultResolver::new();
7835 let endpoint = resolver.resolve_endpoint(¶ms);
7836 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3");
7837 assert_eq!(
7838 endpoint,
7839 ::aws_smithy_types::endpoint::Endpoint::builder()
7840 .url("https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3")
7841 .property(
7842 "authSchemes",
7843 vec![::aws_smithy_types::Document::from({
7844 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7845 out.insert("name".to_string(), "sigv4".to_string().into());
7846 out.insert("signingName".to_string(), "s3express".to_string().into());
7847 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7848 out.insert("disableDoubleEncoding".to_string(), true.into());
7849 out
7850 })]
7851 )
7852 .property("backend", "S3Express".to_string())
7853 .build()
7854 );
7855 }
7856
7857 #[test]
7859 fn test_280() {
7860 let params = crate::config::endpoint::Params::builder()
7861 .region("us-east-1".to_string())
7862 .bucket("mybucket--use1-az1--x-s3".to_string())
7863 .use_fips(true)
7864 .use_dual_stack(false)
7865 .accelerate(false)
7866 .use_s3_express_control_endpoint(true)
7867 .disable_s3_express_session_auth(false)
7868 .build()
7869 .expect("invalid params");
7870 let resolver = crate::config::endpoint::DefaultResolver::new();
7871 let endpoint = resolver.resolve_endpoint(¶ms);
7872 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3");
7873 assert_eq!(
7874 endpoint,
7875 ::aws_smithy_types::endpoint::Endpoint::builder()
7876 .url("https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3")
7877 .property(
7878 "authSchemes",
7879 vec![::aws_smithy_types::Document::from({
7880 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7881 out.insert("name".to_string(), "sigv4".to_string().into());
7882 out.insert("signingName".to_string(), "s3express".to_string().into());
7883 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7884 out.insert("disableDoubleEncoding".to_string(), true.into());
7885 out
7886 })]
7887 )
7888 .property("backend", "S3Express".to_string())
7889 .build()
7890 );
7891 }
7892
7893 #[test]
7895 fn test_281() {
7896 let params = crate::config::endpoint::Params::builder()
7897 .region("us-east-1".to_string())
7898 .use_fips(false)
7899 .use_dual_stack(false)
7900 .accelerate(false)
7901 .use_s3_express_control_endpoint(true)
7902 .disable_s3_express_session_auth(false)
7903 .build()
7904 .expect("invalid params");
7905 let resolver = crate::config::endpoint::DefaultResolver::new();
7906 let endpoint = resolver.resolve_endpoint(¶ms);
7907 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com");
7908 assert_eq!(
7909 endpoint,
7910 ::aws_smithy_types::endpoint::Endpoint::builder()
7911 .url("https://s3express-control.us-east-1.amazonaws.com")
7912 .property(
7913 "authSchemes",
7914 vec![::aws_smithy_types::Document::from({
7915 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7916 out.insert("name".to_string(), "sigv4".to_string().into());
7917 out.insert("signingName".to_string(), "s3express".to_string().into());
7918 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7919 out.insert("disableDoubleEncoding".to_string(), true.into());
7920 out
7921 })]
7922 )
7923 .property("backend", "S3Express".to_string())
7924 .build()
7925 );
7926 }
7927
7928 #[test]
7930 fn test_282() {
7931 let params = crate::config::endpoint::Params::builder()
7932 .region("us-east-1".to_string())
7933 .use_fips(true)
7934 .use_dual_stack(false)
7935 .accelerate(false)
7936 .use_s3_express_control_endpoint(true)
7937 .disable_s3_express_session_auth(false)
7938 .build()
7939 .expect("invalid params");
7940 let resolver = crate::config::endpoint::DefaultResolver::new();
7941 let endpoint = resolver.resolve_endpoint(¶ms);
7942 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com");
7943 assert_eq!(
7944 endpoint,
7945 ::aws_smithy_types::endpoint::Endpoint::builder()
7946 .url("https://s3express-control-fips.us-east-1.amazonaws.com")
7947 .property(
7948 "authSchemes",
7949 vec![::aws_smithy_types::Document::from({
7950 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7951 out.insert("name".to_string(), "sigv4".to_string().into());
7952 out.insert("signingName".to_string(), "s3express".to_string().into());
7953 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7954 out.insert("disableDoubleEncoding".to_string(), true.into());
7955 out
7956 })]
7957 )
7958 .property("backend", "S3Express".to_string())
7959 .build()
7960 );
7961 }
7962
7963 #[test]
7965 fn test_283() {
7966 let params = crate::config::endpoint::Params::builder()
7967 .region("us-west-2".to_string())
7968 .bucket("mybucket--usw2-az1--x-s3".to_string())
7969 .use_fips(false)
7970 .use_dual_stack(false)
7971 .accelerate(false)
7972 .disable_s3_express_session_auth(true)
7973 .build()
7974 .expect("invalid params");
7975 let resolver = crate::config::endpoint::DefaultResolver::new();
7976 let endpoint = resolver.resolve_endpoint(¶ms);
7977 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com");
7978 assert_eq!(
7979 endpoint,
7980 ::aws_smithy_types::endpoint::Endpoint::builder()
7981 .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com")
7982 .property(
7983 "authSchemes",
7984 vec![::aws_smithy_types::Document::from({
7985 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7986 out.insert("name".to_string(), "sigv4".to_string().into());
7987 out.insert("signingName".to_string(), "s3express".to_string().into());
7988 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
7989 out.insert("disableDoubleEncoding".to_string(), true.into());
7990 out
7991 })]
7992 )
7993 .property("backend", "S3Express".to_string())
7994 .build()
7995 );
7996 }
7997
7998 #[test]
8000 fn test_284() {
8001 let params = crate::config::endpoint::Params::builder()
8002 .region("us-west-2".to_string())
8003 .bucket("mybucket--usw2-az1--x-s3".to_string())
8004 .use_fips(true)
8005 .use_dual_stack(false)
8006 .accelerate(false)
8007 .disable_s3_express_session_auth(true)
8008 .build()
8009 .expect("invalid params");
8010 let resolver = crate::config::endpoint::DefaultResolver::new();
8011 let endpoint = resolver.resolve_endpoint(¶ms);
8012 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com");
8013 assert_eq!(
8014 endpoint,
8015 ::aws_smithy_types::endpoint::Endpoint::builder()
8016 .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com")
8017 .property(
8018 "authSchemes",
8019 vec![::aws_smithy_types::Document::from({
8020 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8021 out.insert("name".to_string(), "sigv4".to_string().into());
8022 out.insert("signingName".to_string(), "s3express".to_string().into());
8023 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8024 out.insert("disableDoubleEncoding".to_string(), true.into());
8025 out
8026 })]
8027 )
8028 .property("backend", "S3Express".to_string())
8029 .build()
8030 );
8031 }
8032
8033 #[test]
8035 fn test_285() {
8036 let params = crate::config::endpoint::Params::builder()
8037 .region("ap-northeast-1".to_string())
8038 .bucket("mybucket--apne1-az1--x-s3".to_string())
8039 .use_fips(false)
8040 .use_dual_stack(false)
8041 .accelerate(false)
8042 .use_s3_express_control_endpoint(false)
8043 .disable_s3_express_session_auth(true)
8044 .build()
8045 .expect("invalid params");
8046 let resolver = crate::config::endpoint::DefaultResolver::new();
8047 let endpoint = resolver.resolve_endpoint(¶ms);
8048 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com");
8049 assert_eq!(
8050 endpoint,
8051 ::aws_smithy_types::endpoint::Endpoint::builder()
8052 .url("https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com")
8053 .property(
8054 "authSchemes",
8055 vec![::aws_smithy_types::Document::from({
8056 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8057 out.insert("name".to_string(), "sigv4".to_string().into());
8058 out.insert("signingName".to_string(), "s3express".to_string().into());
8059 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
8060 out.insert("disableDoubleEncoding".to_string(), true.into());
8061 out
8062 })]
8063 )
8064 .property("backend", "S3Express".to_string())
8065 .build()
8066 );
8067 }
8068
8069 #[test]
8071 fn test_286() {
8072 let params = crate::config::endpoint::Params::builder()
8073 .region("ap-northeast-1".to_string())
8074 .bucket("mybucket--apne1-az1--x-s3".to_string())
8075 .use_fips(true)
8076 .use_dual_stack(false)
8077 .accelerate(false)
8078 .use_s3_express_control_endpoint(false)
8079 .disable_s3_express_session_auth(true)
8080 .build()
8081 .expect("invalid params");
8082 let resolver = crate::config::endpoint::DefaultResolver::new();
8083 let endpoint = resolver.resolve_endpoint(¶ms);
8084 let endpoint =
8085 endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com");
8086 assert_eq!(
8087 endpoint,
8088 ::aws_smithy_types::endpoint::Endpoint::builder()
8089 .url("https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com")
8090 .property(
8091 "authSchemes",
8092 vec![::aws_smithy_types::Document::from({
8093 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8094 out.insert("name".to_string(), "sigv4".to_string().into());
8095 out.insert("signingName".to_string(), "s3express".to_string().into());
8096 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
8097 out.insert("disableDoubleEncoding".to_string(), true.into());
8098 out
8099 })]
8100 )
8101 .property("backend", "S3Express".to_string())
8102 .build()
8103 );
8104 }
8105
8106 #[test]
8108 fn test_287() {
8109 let params = crate::config::endpoint::Params::builder()
8110 .region("us-west-2".to_string())
8111 .bucket("mybucket--usw2-az1--x-s3".to_string())
8112 .use_fips(false)
8113 .use_dual_stack(false)
8114 .accelerate(false)
8115 .use_s3_express_control_endpoint(true)
8116 .disable_s3_express_session_auth(true)
8117 .endpoint("https://custom.com".to_string())
8118 .build()
8119 .expect("invalid params");
8120 let resolver = crate::config::endpoint::DefaultResolver::new();
8121 let endpoint = resolver.resolve_endpoint(¶ms);
8122 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
8123 assert_eq!(
8124 endpoint,
8125 ::aws_smithy_types::endpoint::Endpoint::builder()
8126 .url("https://mybucket--usw2-az1--x-s3.custom.com")
8127 .property(
8128 "authSchemes",
8129 vec![::aws_smithy_types::Document::from({
8130 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8131 out.insert("name".to_string(), "sigv4".to_string().into());
8132 out.insert("signingName".to_string(), "s3express".to_string().into());
8133 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8134 out.insert("disableDoubleEncoding".to_string(), true.into());
8135 out
8136 })]
8137 )
8138 .property("backend", "S3Express".to_string())
8139 .build()
8140 );
8141 }
8142
8143 #[test]
8145 fn test_288() {
8146 let params = crate::config::endpoint::Params::builder()
8147 .region("us-west-2".to_string())
8148 .use_fips(false)
8149 .use_dual_stack(false)
8150 .accelerate(false)
8151 .use_s3_express_control_endpoint(true)
8152 .disable_s3_express_session_auth(true)
8153 .endpoint("https://custom.com".to_string())
8154 .build()
8155 .expect("invalid params");
8156 let resolver = crate::config::endpoint::DefaultResolver::new();
8157 let endpoint = resolver.resolve_endpoint(¶ms);
8158 let endpoint = endpoint.expect("Expected valid endpoint: https://custom.com");
8159 assert_eq!(
8160 endpoint,
8161 ::aws_smithy_types::endpoint::Endpoint::builder()
8162 .url("https://custom.com")
8163 .property(
8164 "authSchemes",
8165 vec![::aws_smithy_types::Document::from({
8166 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8167 out.insert("name".to_string(), "sigv4".to_string().into());
8168 out.insert("signingName".to_string(), "s3express".to_string().into());
8169 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8170 out.insert("disableDoubleEncoding".to_string(), true.into());
8171 out
8172 })]
8173 )
8174 .property("backend", "S3Express".to_string())
8175 .build()
8176 );
8177 }
8178
8179 #[test]
8181 fn test_289() {
8182 let params = crate::config::endpoint::Params::builder()
8183 .region("us-west-2".to_string())
8184 .bucket("mybucket--usw2-az1--x-s3".to_string())
8185 .use_fips(false)
8186 .use_dual_stack(false)
8187 .accelerate(false)
8188 .endpoint("https://10.0.0.1".to_string())
8189 .build()
8190 .expect("invalid params");
8191 let resolver = crate::config::endpoint::DefaultResolver::new();
8192 let endpoint = resolver.resolve_endpoint(¶ms);
8193 let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
8194 assert_eq!(
8195 endpoint,
8196 ::aws_smithy_types::endpoint::Endpoint::builder()
8197 .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
8198 .property(
8199 "authSchemes",
8200 vec![::aws_smithy_types::Document::from({
8201 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8202 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
8203 out.insert("signingName".to_string(), "s3express".to_string().into());
8204 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8205 out.insert("disableDoubleEncoding".to_string(), true.into());
8206 out
8207 })]
8208 )
8209 .property("backend", "S3Express".to_string())
8210 .build()
8211 );
8212 }
8213
8214 #[test]
8216 fn test_290() {
8217 let params = crate::config::endpoint::Params::builder()
8218 .region("us-west-2".to_string())
8219 .bucket("mybucket--usw2-az1--x-s3".to_string())
8220 .use_fips(false)
8221 .use_dual_stack(false)
8222 .accelerate(false)
8223 .use_s3_express_control_endpoint(true)
8224 .disable_s3_express_session_auth(true)
8225 .endpoint("https://10.0.0.1".to_string())
8226 .build()
8227 .expect("invalid params");
8228 let resolver = crate::config::endpoint::DefaultResolver::new();
8229 let endpoint = resolver.resolve_endpoint(¶ms);
8230 let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
8231 assert_eq!(
8232 endpoint,
8233 ::aws_smithy_types::endpoint::Endpoint::builder()
8234 .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
8235 .property(
8236 "authSchemes",
8237 vec![::aws_smithy_types::Document::from({
8238 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8239 out.insert("name".to_string(), "sigv4".to_string().into());
8240 out.insert("signingName".to_string(), "s3express".to_string().into());
8241 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8242 out.insert("disableDoubleEncoding".to_string(), true.into());
8243 out
8244 })]
8245 )
8246 .property("backend", "S3Express".to_string())
8247 .build()
8248 );
8249 }
8250
8251 #[test]
8253 fn test_291() {
8254 let params = crate::config::endpoint::Params::builder()
8255 .region("us-west-2".to_string())
8256 .bucket("mybucket--usw2-az1--x-s3".to_string())
8257 .use_fips(false)
8258 .use_dual_stack(false)
8259 .accelerate(false)
8260 .endpoint("https://custom.com".to_string())
8261 .build()
8262 .expect("invalid params");
8263 let resolver = crate::config::endpoint::DefaultResolver::new();
8264 let endpoint = resolver.resolve_endpoint(¶ms);
8265 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
8266 assert_eq!(
8267 endpoint,
8268 ::aws_smithy_types::endpoint::Endpoint::builder()
8269 .url("https://mybucket--usw2-az1--x-s3.custom.com")
8270 .property(
8271 "authSchemes",
8272 vec![::aws_smithy_types::Document::from({
8273 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8274 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
8275 out.insert("signingName".to_string(), "s3express".to_string().into());
8276 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8277 out.insert("disableDoubleEncoding".to_string(), true.into());
8278 out
8279 })]
8280 )
8281 .property("backend", "S3Express".to_string())
8282 .build()
8283 );
8284 }
8285
8286 #[test]
8288 fn test_292() {
8289 let params = crate::config::endpoint::Params::builder()
8290 .region("us-east-1".to_string())
8291 .bucket("mybucket--usaz1--x-s3".to_string())
8292 .use_fips(false)
8293 .use_dual_stack(false)
8294 .accelerate(false)
8295 .use_s3_express_control_endpoint(false)
8296 .build()
8297 .expect("invalid params");
8298 let resolver = crate::config::endpoint::DefaultResolver::new();
8299 let endpoint = resolver.resolve_endpoint(¶ms);
8300 let error = endpoint.expect_err("expected error: Unrecognized S3Express bucket name format. [bad format error]");
8301 assert_eq!(format!("{}", error), "Unrecognized S3Express bucket name format.")
8302 }
8303
8304 #[test]
8306 fn test_293() {
8307 let params = crate::config::endpoint::Params::builder()
8308 .region("us-east-1".to_string())
8309 .bucket("mybucket--usaz1--x-s3".to_string())
8310 .use_fips(false)
8311 .use_dual_stack(false)
8312 .accelerate(false)
8313 .use_s3_express_control_endpoint(false)
8314 .disable_s3_express_session_auth(true)
8315 .build()
8316 .expect("invalid params");
8317 let resolver = crate::config::endpoint::DefaultResolver::new();
8318 let endpoint = resolver.resolve_endpoint(¶ms);
8319 let error = endpoint.expect_err("expected error: Unrecognized S3Express bucket name format. [bad format error no session auth]");
8320 assert_eq!(format!("{}", error), "Unrecognized S3Express bucket name format.")
8321 }
8322
8323 #[test]
8325 fn test_294() {
8326 let params = crate::config::endpoint::Params::builder()
8327 .region("us-east-1".to_string())
8328 .bucket("mybucket--use1-az1--x-s3".to_string())
8329 .use_fips(false)
8330 .use_dual_stack(true)
8331 .accelerate(false)
8332 .use_s3_express_control_endpoint(false)
8333 .build()
8334 .expect("invalid params");
8335 let resolver = crate::config::endpoint::DefaultResolver::new();
8336 let endpoint = resolver.resolve_endpoint(¶ms);
8337 let error = endpoint.expect_err("expected error: S3Express does not support Dual-stack. [dual-stack error]");
8338 assert_eq!(format!("{}", error), "S3Express does not support Dual-stack.")
8339 }
8340
8341 #[test]
8343 fn test_295() {
8344 let params = crate::config::endpoint::Params::builder()
8345 .region("us-east-1".to_string())
8346 .bucket("mybucket--use1-az1--x-s3".to_string())
8347 .use_fips(false)
8348 .use_dual_stack(false)
8349 .accelerate(true)
8350 .use_s3_express_control_endpoint(false)
8351 .build()
8352 .expect("invalid params");
8353 let resolver = crate::config::endpoint::DefaultResolver::new();
8354 let endpoint = resolver.resolve_endpoint(¶ms);
8355 let error = endpoint.expect_err("expected error: S3Express does not support S3 Accelerate. [accelerate error]");
8356 assert_eq!(format!("{}", error), "S3Express does not support S3 Accelerate.")
8357 }
8358
8359 #[test]
8361 fn test_296() {
8362 let params = crate::config::endpoint::Params::builder()
8363 .region("us-east-1".to_string())
8364 .bucket("my.bucket--use1-az1--x-s3".to_string())
8365 .use_fips(false)
8366 .use_dual_stack(false)
8367 .accelerate(false)
8368 .use_s3_express_control_endpoint(false)
8369 .build()
8370 .expect("invalid params");
8371 let resolver = crate::config::endpoint::DefaultResolver::new();
8372 let endpoint = resolver.resolve_endpoint(¶ms);
8373 let error =
8374 endpoint.expect_err("expected error: S3Express bucket name is not a valid virtual hostable name. [Data plane bucket format error]");
8375 assert_eq!(format!("{}", error), "S3Express bucket name is not a valid virtual hostable name.")
8376 }
8377
8378 #[test]
8380 fn test_297() {
8381 let params = crate::config::endpoint::Params::builder()
8382 .region("us-west-2".to_string())
8383 .bucket("my.bucket--usw2-az1--x-s3".to_string())
8384 .use_fips(false)
8385 .use_dual_stack(false)
8386 .accelerate(false)
8387 .endpoint("https://custom.com".to_string())
8388 .build()
8389 .expect("invalid params");
8390 let resolver = crate::config::endpoint::DefaultResolver::new();
8391 let endpoint = resolver.resolve_endpoint(¶ms);
8392 let error = endpoint.expect_err(
8393 "expected error: S3Express bucket name is not a valid virtual hostable name. [host override data plane bucket error session auth]",
8394 );
8395 assert_eq!(format!("{}", error), "S3Express bucket name is not a valid virtual hostable name.")
8396 }
8397
8398 #[test]
8400 fn test_298() {
8401 let params = crate::config::endpoint::Params::builder()
8402 .region("us-west-2".to_string())
8403 .bucket("my.bucket--usw2-az1--x-s3".to_string())
8404 .use_fips(false)
8405 .use_dual_stack(false)
8406 .accelerate(false)
8407 .endpoint("https://custom.com".to_string())
8408 .disable_s3_express_session_auth(true)
8409 .build()
8410 .expect("invalid params");
8411 let resolver = crate::config::endpoint::DefaultResolver::new();
8412 let endpoint = resolver.resolve_endpoint(¶ms);
8413 let error = endpoint
8414 .expect_err("expected error: S3Express bucket name is not a valid virtual hostable name. [host override data plane bucket error]");
8415 assert_eq!(format!("{}", error), "S3Express bucket name is not a valid virtual hostable name.")
8416 }
8417}
8418
8419pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
8421 fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
8423
8424 fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
8428 where
8429 Self: Sized + 'static,
8430 {
8431 ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
8432 }
8433}
8434
8435#[derive(Debug)]
8436struct DowncastParams<T>(T);
8437impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
8438where
8439 T: ResolveEndpoint,
8440{
8441 fn resolve_endpoint<'a>(
8442 &'a self,
8443 params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams,
8444 ) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
8445 let ep = match params.get::<crate::config::endpoint::Params>() {
8446 Some(params) => self.0.resolve_endpoint(params),
8447 None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
8448 };
8449 ep
8450 }
8451}
8452
8453#[derive(Debug, Default)]
8455pub struct DefaultResolver {
8456 partition_resolver: crate::endpoint_lib::partition::PartitionResolver,
8457}
8458
8459impl DefaultResolver {
8460 pub fn new() -> Self {
8462 Self {
8463 partition_resolver: crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER.clone(),
8464 }
8465 }
8466
8467 fn resolve_endpoint(
8468 &self,
8469 params: &crate::config::endpoint::Params,
8470 ) -> Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
8471 let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
8472 Ok(
8473 crate::config::endpoint::internals::resolve_endpoint(params, &mut diagnostic_collector, &self.partition_resolver)
8474 .map_err(|err| err.with_source(diagnostic_collector.take_last_error()))?,
8475 )
8476 }
8477}
8478
8479impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
8480 fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture {
8481 ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(self.resolve_endpoint(params))
8482 }
8483}
8484
8485#[non_exhaustive]
8486#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
8487pub struct Params {
8489 pub(crate) bucket: ::std::option::Option<::std::string::String>,
8491 pub(crate) region: ::std::option::Option<::std::string::String>,
8493 pub(crate) use_fips: bool,
8495 pub(crate) use_dual_stack: bool,
8497 pub(crate) endpoint: ::std::option::Option<::std::string::String>,
8499 pub(crate) force_path_style: bool,
8501 pub(crate) accelerate: bool,
8503 pub(crate) use_global_endpoint: bool,
8505 pub(crate) use_object_lambda_endpoint: ::std::option::Option<bool>,
8507 pub(crate) key: ::std::option::Option<::std::string::String>,
8509 pub(crate) prefix: ::std::option::Option<::std::string::String>,
8511 pub(crate) copy_source: ::std::option::Option<::std::string::String>,
8513 pub(crate) disable_access_points: ::std::option::Option<bool>,
8515 pub(crate) disable_multi_region_access_points: bool,
8517 pub(crate) use_arn_region: ::std::option::Option<bool>,
8519 pub(crate) use_s3_express_control_endpoint: ::std::option::Option<bool>,
8521 pub(crate) disable_s3_express_session_auth: ::std::option::Option<bool>,
8523}
8524impl Params {
8525 pub fn builder() -> crate::config::endpoint::ParamsBuilder {
8527 crate::config::endpoint::ParamsBuilder::default()
8528 }
8529 pub fn bucket(&self) -> ::std::option::Option<&str> {
8531 self.bucket.as_deref()
8532 }
8533 pub fn region(&self) -> ::std::option::Option<&str> {
8535 self.region.as_deref()
8536 }
8537 pub fn use_fips(&self) -> ::std::option::Option<bool> {
8539 Some(self.use_fips)
8540 }
8541 pub fn use_dual_stack(&self) -> ::std::option::Option<bool> {
8543 Some(self.use_dual_stack)
8544 }
8545 pub fn endpoint(&self) -> ::std::option::Option<&str> {
8547 self.endpoint.as_deref()
8548 }
8549 pub fn force_path_style(&self) -> ::std::option::Option<bool> {
8551 Some(self.force_path_style)
8552 }
8553 pub fn accelerate(&self) -> ::std::option::Option<bool> {
8555 Some(self.accelerate)
8556 }
8557 pub fn use_global_endpoint(&self) -> ::std::option::Option<bool> {
8559 Some(self.use_global_endpoint)
8560 }
8561 pub fn use_object_lambda_endpoint(&self) -> ::std::option::Option<bool> {
8563 self.use_object_lambda_endpoint
8564 }
8565 pub fn key(&self) -> ::std::option::Option<&str> {
8567 self.key.as_deref()
8568 }
8569 pub fn prefix(&self) -> ::std::option::Option<&str> {
8571 self.prefix.as_deref()
8572 }
8573 pub fn copy_source(&self) -> ::std::option::Option<&str> {
8575 self.copy_source.as_deref()
8576 }
8577 pub fn disable_access_points(&self) -> ::std::option::Option<bool> {
8579 self.disable_access_points
8580 }
8581 pub fn disable_multi_region_access_points(&self) -> ::std::option::Option<bool> {
8583 Some(self.disable_multi_region_access_points)
8584 }
8585 pub fn use_arn_region(&self) -> ::std::option::Option<bool> {
8587 self.use_arn_region
8588 }
8589 pub fn use_s3_express_control_endpoint(&self) -> ::std::option::Option<bool> {
8591 self.use_s3_express_control_endpoint
8592 }
8593 pub fn disable_s3_express_session_auth(&self) -> ::std::option::Option<bool> {
8595 self.disable_s3_express_session_auth
8596 }
8597}
8598
8599#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
8601pub struct ParamsBuilder {
8602 bucket: ::std::option::Option<::std::string::String>,
8603 region: ::std::option::Option<::std::string::String>,
8604 use_fips: ::std::option::Option<bool>,
8605 use_dual_stack: ::std::option::Option<bool>,
8606 endpoint: ::std::option::Option<::std::string::String>,
8607 force_path_style: ::std::option::Option<bool>,
8608 accelerate: ::std::option::Option<bool>,
8609 use_global_endpoint: ::std::option::Option<bool>,
8610 use_object_lambda_endpoint: ::std::option::Option<bool>,
8611 key: ::std::option::Option<::std::string::String>,
8612 prefix: ::std::option::Option<::std::string::String>,
8613 copy_source: ::std::option::Option<::std::string::String>,
8614 disable_access_points: ::std::option::Option<bool>,
8615 disable_multi_region_access_points: ::std::option::Option<bool>,
8616 use_arn_region: ::std::option::Option<bool>,
8617 use_s3_express_control_endpoint: ::std::option::Option<bool>,
8618 disable_s3_express_session_auth: ::std::option::Option<bool>,
8619}
8620impl ParamsBuilder {
8621 pub fn build(self) -> ::std::result::Result<crate::config::endpoint::Params, crate::config::endpoint::InvalidParams> {
8623 Ok(
8624 #[allow(clippy::unnecessary_lazy_evaluations)]
8625 crate::config::endpoint::Params {
8626 bucket: self.bucket,
8627 region: self.region,
8628 use_fips: self
8629 .use_fips
8630 .or_else(|| Some(false))
8631 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_fips"))?,
8632 use_dual_stack: self
8633 .use_dual_stack
8634 .or_else(|| Some(false))
8635 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_dual_stack"))?,
8636 endpoint: self.endpoint,
8637 force_path_style: self
8638 .force_path_style
8639 .or_else(|| Some(false))
8640 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("force_path_style"))?,
8641 accelerate: self
8642 .accelerate
8643 .or_else(|| Some(false))
8644 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("accelerate"))?,
8645 use_global_endpoint: self
8646 .use_global_endpoint
8647 .or_else(|| Some(false))
8648 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_global_endpoint"))?,
8649 use_object_lambda_endpoint: self.use_object_lambda_endpoint,
8650 key: self.key,
8651 prefix: self.prefix,
8652 copy_source: self.copy_source,
8653 disable_access_points: self.disable_access_points,
8654 disable_multi_region_access_points: self
8655 .disable_multi_region_access_points
8656 .or_else(|| Some(false))
8657 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("disable_multi_region_access_points"))?,
8658 use_arn_region: self.use_arn_region,
8659 use_s3_express_control_endpoint: self.use_s3_express_control_endpoint,
8660 disable_s3_express_session_auth: self.disable_s3_express_session_auth,
8661 },
8662 )
8663 }
8664 pub fn bucket(mut self, value: impl Into<::std::string::String>) -> Self {
8668 self.bucket = Some(value.into());
8669 self
8670 }
8671
8672 pub fn set_bucket(mut self, param: Option<::std::string::String>) -> Self {
8676 self.bucket = param;
8677 self
8678 }
8679 pub fn region(mut self, value: impl Into<::std::string::String>) -> Self {
8683 self.region = Some(value.into());
8684 self
8685 }
8686
8687 pub fn set_region(mut self, param: Option<::std::string::String>) -> Self {
8691 self.region = param;
8692 self
8693 }
8694 pub fn use_fips(mut self, value: impl Into<bool>) -> Self {
8699 self.use_fips = Some(value.into());
8700 self
8701 }
8702
8703 pub fn set_use_fips(mut self, param: Option<bool>) -> Self {
8708 self.use_fips = param;
8709 self
8710 }
8711 pub fn use_dual_stack(mut self, value: impl Into<bool>) -> Self {
8716 self.use_dual_stack = Some(value.into());
8717 self
8718 }
8719
8720 pub fn set_use_dual_stack(mut self, param: Option<bool>) -> Self {
8725 self.use_dual_stack = param;
8726 self
8727 }
8728 pub fn endpoint(mut self, value: impl Into<::std::string::String>) -> Self {
8732 self.endpoint = Some(value.into());
8733 self
8734 }
8735
8736 pub fn set_endpoint(mut self, param: Option<::std::string::String>) -> Self {
8740 self.endpoint = param;
8741 self
8742 }
8743 pub fn force_path_style(mut self, value: impl Into<bool>) -> Self {
8748 self.force_path_style = Some(value.into());
8749 self
8750 }
8751
8752 pub fn set_force_path_style(mut self, param: Option<bool>) -> Self {
8757 self.force_path_style = param;
8758 self
8759 }
8760 pub fn accelerate(mut self, value: impl Into<bool>) -> Self {
8765 self.accelerate = Some(value.into());
8766 self
8767 }
8768
8769 pub fn set_accelerate(mut self, param: Option<bool>) -> Self {
8774 self.accelerate = param;
8775 self
8776 }
8777 pub fn use_global_endpoint(mut self, value: impl Into<bool>) -> Self {
8782 self.use_global_endpoint = Some(value.into());
8783 self
8784 }
8785
8786 pub fn set_use_global_endpoint(mut self, param: Option<bool>) -> Self {
8791 self.use_global_endpoint = param;
8792 self
8793 }
8794 pub fn use_object_lambda_endpoint(mut self, value: impl Into<bool>) -> Self {
8798 self.use_object_lambda_endpoint = Some(value.into());
8799 self
8800 }
8801
8802 pub fn set_use_object_lambda_endpoint(mut self, param: Option<bool>) -> Self {
8806 self.use_object_lambda_endpoint = param;
8807 self
8808 }
8809 pub fn key(mut self, value: impl Into<::std::string::String>) -> Self {
8813 self.key = Some(value.into());
8814 self
8815 }
8816
8817 pub fn set_key(mut self, param: Option<::std::string::String>) -> Self {
8821 self.key = param;
8822 self
8823 }
8824 pub fn prefix(mut self, value: impl Into<::std::string::String>) -> Self {
8828 self.prefix = Some(value.into());
8829 self
8830 }
8831
8832 pub fn set_prefix(mut self, param: Option<::std::string::String>) -> Self {
8836 self.prefix = param;
8837 self
8838 }
8839 pub fn copy_source(mut self, value: impl Into<::std::string::String>) -> Self {
8843 self.copy_source = Some(value.into());
8844 self
8845 }
8846
8847 pub fn set_copy_source(mut self, param: Option<::std::string::String>) -> Self {
8851 self.copy_source = param;
8852 self
8853 }
8854 pub fn disable_access_points(mut self, value: impl Into<bool>) -> Self {
8858 self.disable_access_points = Some(value.into());
8859 self
8860 }
8861
8862 pub fn set_disable_access_points(mut self, param: Option<bool>) -> Self {
8866 self.disable_access_points = param;
8867 self
8868 }
8869 pub fn disable_multi_region_access_points(mut self, value: impl Into<bool>) -> Self {
8874 self.disable_multi_region_access_points = Some(value.into());
8875 self
8876 }
8877
8878 pub fn set_disable_multi_region_access_points(mut self, param: Option<bool>) -> Self {
8883 self.disable_multi_region_access_points = param;
8884 self
8885 }
8886 pub fn use_arn_region(mut self, value: impl Into<bool>) -> Self {
8890 self.use_arn_region = Some(value.into());
8891 self
8892 }
8893
8894 pub fn set_use_arn_region(mut self, param: Option<bool>) -> Self {
8898 self.use_arn_region = param;
8899 self
8900 }
8901 pub fn use_s3_express_control_endpoint(mut self, value: impl Into<bool>) -> Self {
8905 self.use_s3_express_control_endpoint = Some(value.into());
8906 self
8907 }
8908
8909 pub fn set_use_s3_express_control_endpoint(mut self, param: Option<bool>) -> Self {
8913 self.use_s3_express_control_endpoint = param;
8914 self
8915 }
8916 pub fn disable_s3_express_session_auth(mut self, value: impl Into<bool>) -> Self {
8920 self.disable_s3_express_session_auth = Some(value.into());
8921 self
8922 }
8923
8924 pub fn set_disable_s3_express_session_auth(mut self, param: Option<bool>) -> Self {
8928 self.disable_s3_express_session_auth = param;
8929 self
8930 }
8931}
8932
8933#[derive(Debug)]
8935pub struct InvalidParams {
8936 field: std::borrow::Cow<'static, str>,
8937}
8938
8939impl InvalidParams {
8940 #[allow(dead_code)]
8941 fn missing(field: &'static str) -> Self {
8942 Self { field: field.into() }
8943 }
8944}
8945
8946impl std::fmt::Display for InvalidParams {
8947 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8948 write!(f, "a required field was missing: `{}`", self.field)
8949 }
8950}
8951
8952impl std::error::Error for InvalidParams {}
8953
8954mod internals;