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)]
8mod test {
9
10 #[test]
12 fn test_1() {
13 let params = crate::config::endpoint::Params::builder()
14 .region("a b".to_string())
15 .use_fips(false)
16 .use_dual_stack(false)
17 .accelerate(false)
18 .build()
19 .expect("invalid params");
20 let resolver = crate::config::endpoint::DefaultResolver::new();
21 let endpoint = resolver.resolve_endpoint(¶ms);
22 let error = endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [region is not a valid DNS-suffix]");
23 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
24 }
25
26 #[test]
28 fn test_2() {
29 let params = crate::config::endpoint::Params::builder()
30 .region("us-east-1".to_string())
31 .use_fips(false)
32 .use_dual_stack(false)
33 .accelerate(false)
34 .bucket("arn:aws:not-s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
35 .build()
36 .expect("invalid params");
37 let resolver = crate::config::endpoint::DefaultResolver::new();
38 let endpoint = resolver.resolve_endpoint(¶ms);
39 let error =
40 endpoint.expect_err("expected error: Invalid ARN: The ARN was not for the S3 service, found: not-s3 [Invalid access point ARN: Not S3]");
41 assert_eq!(format!("{}", error), "Invalid ARN: The ARN was not for the S3 service, found: not-s3")
42 }
43
44 #[test]
46 fn test_3() {
47 let params = crate::config::endpoint::Params::builder()
48 .region("us-east-1".to_string())
49 .use_fips(false)
50 .use_dual_stack(false)
51 .accelerate(false)
52 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint:more-data".to_string())
53 .build()
54 .expect("invalid params");
55 let resolver = crate::config::endpoint::DefaultResolver::new();
56 let endpoint = resolver.resolve_endpoint(¶ms);
57 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]");
58 assert_eq!(
59 format!("{}", error),
60 "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."
61 )
62 }
63
64 #[test]
66 fn test_4() {
67 let params = crate::config::endpoint::Params::builder()
68 .region("us-east-1".to_string())
69 .use_fips(false)
70 .use_dual_stack(false)
71 .accelerate(false)
72 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:".to_string())
73 .build()
74 .expect("invalid params");
75 let resolver = crate::config::endpoint::DefaultResolver::new();
76 let endpoint = resolver.resolve_endpoint(¶ms);
77 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]");
78 assert_eq!(
79 format!("{}", error),
80 "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided"
81 )
82 }
83
84 #[test]
86 fn test_5() {
87 let params = crate::config::endpoint::Params::builder()
88 .region("us-east-1".to_string())
89 .use_fips(false)
90 .use_dual_stack(false)
91 .accelerate(false)
92 .bucket("arn:aws:s3:us-west-2:123456_789012:accesspoint:apname".to_string())
93 .build()
94 .expect("invalid params");
95 let resolver = crate::config::endpoint::DefaultResolver::new();
96 let endpoint = resolver.resolve_endpoint(¶ms);
97 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]");
98 assert_eq!(
99 format!("{}", error),
100 "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123456_789012`"
101 )
102 }
103
104 #[test]
106 fn test_6() {
107 let params = crate::config::endpoint::Params::builder()
108 .region("us-east-1".to_string())
109 .use_fips(false)
110 .use_dual_stack(false)
111 .accelerate(false)
112 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:ap_name".to_string())
113 .build()
114 .expect("invalid params");
115 let resolver = crate::config::endpoint::DefaultResolver::new();
116 let endpoint = resolver.resolve_endpoint(¶ms);
117 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]");
118 assert_eq!(
119 format!("{}", error),
120 "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `ap_name`"
121 )
122 }
123
124 #[test]
126 fn test_7() {
127 let params = crate::config::endpoint::Params::builder()
128 .region("us-east-1".to_string())
129 .use_fips(false)
130 .use_dual_stack(false)
131 .accelerate(false)
132 .disable_access_points(false)
133 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
134 .build()
135 .expect("invalid params");
136 let resolver = crate::config::endpoint::DefaultResolver::new();
137 let endpoint = resolver.resolve_endpoint(¶ms);
138 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
139 assert_eq!(
140 endpoint,
141 ::aws_smithy_types::endpoint::Endpoint::builder()
142 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
143 .property(
144 "authSchemes",
145 vec![::aws_smithy_types::Document::from({
146 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
147 out.insert("name".to_string(), "sigv4".to_string().into());
148 out.insert("signingName".to_string(), "s3".to_string().into());
149 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
150 out.insert("disableDoubleEncoding".to_string(), true.into());
151 out
152 })]
153 )
154 .build()
155 );
156 }
157
158 #[test]
160 fn test_8() {
161 let params = crate::config::endpoint::Params::builder()
162 .region("cn-north-1".to_string())
163 .use_fips(true)
164 .use_dual_stack(false)
165 .accelerate(false)
166 .bucket("arn:aws:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
167 .build()
168 .expect("invalid params");
169 let resolver = crate::config::endpoint::DefaultResolver::new();
170 let endpoint = resolver.resolve_endpoint(¶ms);
171 let error = endpoint.expect_err("expected error: Partition does not support FIPS [Access points: partition does not support FIPS]");
172 assert_eq!(format!("{}", error), "Partition does not support FIPS")
173 }
174
175 #[test]
177 fn test_9() {
178 let params = crate::config::endpoint::Params::builder()
179 .region("us-east-1".to_string())
180 .use_fips(false)
181 .use_dual_stack(false)
182 .accelerate(false)
183 .disable_access_points(false)
184 .bucket("arn:aws:s3:us-west -2:123456789012:accesspoint:myendpoint".to_string())
185 .build()
186 .expect("invalid params");
187 let resolver = crate::config::endpoint::DefaultResolver::new();
188 let endpoint = resolver.resolve_endpoint(¶ms);
189 let error = endpoint.expect_err("expected error: Invalid region in ARN: `us-west -2` (invalid DNS name) [Bucket region is invalid]");
190 assert_eq!(format!("{}", error), "Invalid region in ARN: `us-west -2` (invalid DNS name)")
191 }
192
193 #[test]
195 fn test_10() {
196 let params = crate::config::endpoint::Params::builder()
197 .region("us-east-1".to_string())
198 .use_fips(false)
199 .use_dual_stack(false)
200 .accelerate(false)
201 .disable_access_points(true)
202 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
203 .build()
204 .expect("invalid params");
205 let resolver = crate::config::endpoint::DefaultResolver::new();
206 let endpoint = resolver.resolve_endpoint(¶ms);
207 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)]");
208 assert_eq!(format!("{}", error), "Access points are not supported for this operation")
209 }
210
211 #[test]
213 fn test_11() {
214 let params = crate::config::endpoint::Params::builder()
215 .region("us-east-1".to_string())
216 .use_fips(false)
217 .use_dual_stack(false)
218 .accelerate(false)
219 .disable_access_points(true)
220 .bucket("arn:aws:s3:us-west-2:123456789012:".to_string())
221 .build()
222 .expect("invalid params");
223 let resolver = crate::config::endpoint::DefaultResolver::new();
224 let endpoint = resolver.resolve_endpoint(¶ms);
225 let error = endpoint.expect_err("expected error: Invalid ARN: `arn:aws:s3:us-west-2:123456789012:` was not a valid ARN [missing arn type]");
226 assert_eq!(
227 format!("{}", error),
228 "Invalid ARN: `arn:aws:s3:us-west-2:123456789012:` was not a valid ARN"
229 )
230 }
231
232 #[test]
234 fn test_12() {
235 let params = crate::config::endpoint::Params::builder()
236 .accelerate(false)
237 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
238 .force_path_style(false)
239 .endpoint("https://beta.example.com".to_string())
240 .region("cn-north-1".to_string())
241 .use_dual_stack(true)
242 .use_fips(false)
243 .build()
244 .expect("invalid params");
245 let resolver = crate::config::endpoint::DefaultResolver::new();
246 let endpoint = resolver.resolve_endpoint(¶ms);
247 let error = endpoint.expect_err(
248 "expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + access point + Dualstack is an error]",
249 );
250 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
251 }
252
253 #[test]
255 fn test_13() {
256 let params = crate::config::endpoint::Params::builder()
257 .region("us-east-1".to_string())
258 .use_fips(true)
259 .use_dual_stack(true)
260 .accelerate(false)
261 .disable_access_points(false)
262 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
263 .build()
264 .expect("invalid params");
265 let resolver = crate::config::endpoint::DefaultResolver::new();
266 let endpoint = resolver.resolve_endpoint(¶ms);
267 let endpoint =
268 endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
269 assert_eq!(
270 endpoint,
271 ::aws_smithy_types::endpoint::Endpoint::builder()
272 .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
273 .property(
274 "authSchemes",
275 vec![::aws_smithy_types::Document::from({
276 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
277 out.insert("name".to_string(), "sigv4".to_string().into());
278 out.insert("signingName".to_string(), "s3".to_string().into());
279 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
280 out.insert("disableDoubleEncoding".to_string(), true.into());
281 out
282 })]
283 )
284 .build()
285 );
286 }
287
288 #[test]
290 fn test_14() {
291 let params = crate::config::endpoint::Params::builder()
292 .region("us-east-1".to_string())
293 .use_fips(false)
294 .use_dual_stack(true)
295 .accelerate(false)
296 .disable_access_points(false)
297 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
298 .build()
299 .expect("invalid params");
300 let resolver = crate::config::endpoint::DefaultResolver::new();
301 let endpoint = resolver.resolve_endpoint(¶ms);
302 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com");
303 assert_eq!(
304 endpoint,
305 ::aws_smithy_types::endpoint::Endpoint::builder()
306 .url("https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com")
307 .property(
308 "authSchemes",
309 vec![::aws_smithy_types::Document::from({
310 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
311 out.insert("name".to_string(), "sigv4".to_string().into());
312 out.insert("signingName".to_string(), "s3".to_string().into());
313 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
314 out.insert("disableDoubleEncoding".to_string(), true.into());
315 out
316 })]
317 )
318 .build()
319 );
320 }
321
322 #[test]
324 fn test_15() {
325 let params = crate::config::endpoint::Params::builder()
326 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
327 .region("us-east-1".to_string())
328 .disable_multi_region_access_points(false)
329 .use_fips(false)
330 .use_dual_stack(false)
331 .accelerate(false)
332 .build()
333 .expect("invalid params");
334 let resolver = crate::config::endpoint::DefaultResolver::new();
335 let endpoint = resolver.resolve_endpoint(¶ms);
336 let endpoint = endpoint.expect("Expected valid endpoint: https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com");
337 assert_eq!(
338 endpoint,
339 ::aws_smithy_types::endpoint::Endpoint::builder()
340 .url("https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com")
341 .property(
342 "authSchemes",
343 vec![::aws_smithy_types::Document::from({
344 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
345 out.insert("name".to_string(), "sigv4a".to_string().into());
346 out.insert(
347 "signingRegionSet".to_string(),
348 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
349 );
350 out.insert("signingName".to_string(), "s3".to_string().into());
351 out.insert("disableDoubleEncoding".to_string(), true.into());
352 out
353 })]
354 )
355 .build()
356 );
357 }
358
359 #[test]
361 fn test_16() {
362 let params = crate::config::endpoint::Params::builder()
363 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
364 .region("us-east-1".to_string())
365 .disable_multi_region_access_points(false)
366 .use_fips(true)
367 .use_dual_stack(false)
368 .accelerate(false)
369 .build()
370 .expect("invalid params");
371 let resolver = crate::config::endpoint::DefaultResolver::new();
372 let endpoint = resolver.resolve_endpoint(¶ms);
373 let error = endpoint.expect_err("expected error: S3 MRAP does not support FIPS [MRAP does not support FIPS]");
374 assert_eq!(format!("{}", error), "S3 MRAP does not support FIPS")
375 }
376
377 #[test]
379 fn test_17() {
380 let params = crate::config::endpoint::Params::builder()
381 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
382 .region("us-east-1".to_string())
383 .disable_multi_region_access_points(false)
384 .use_fips(false)
385 .use_dual_stack(true)
386 .accelerate(false)
387 .build()
388 .expect("invalid params");
389 let resolver = crate::config::endpoint::DefaultResolver::new();
390 let endpoint = resolver.resolve_endpoint(¶ms);
391 let error = endpoint.expect_err("expected error: S3 MRAP does not support dual-stack [MRAP does not support DualStack]");
392 assert_eq!(format!("{}", error), "S3 MRAP does not support dual-stack")
393 }
394
395 #[test]
397 fn test_18() {
398 let params = crate::config::endpoint::Params::builder()
399 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
400 .region("us-east-1".to_string())
401 .disable_multi_region_access_points(false)
402 .use_fips(false)
403 .use_dual_stack(false)
404 .accelerate(true)
405 .build()
406 .expect("invalid params");
407 let resolver = crate::config::endpoint::DefaultResolver::new();
408 let endpoint = resolver.resolve_endpoint(¶ms);
409 let error = endpoint.expect_err("expected error: S3 MRAP does not support S3 Accelerate [MRAP does not support S3 Accelerate]");
410 assert_eq!(format!("{}", error), "S3 MRAP does not support S3 Accelerate")
411 }
412
413 #[test]
415 fn test_19() {
416 let params = crate::config::endpoint::Params::builder()
417 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
418 .region("us-east-1".to_string())
419 .disable_multi_region_access_points(true)
420 .use_fips(false)
421 .use_dual_stack(false)
422 .accelerate(false)
423 .build()
424 .expect("invalid params");
425 let resolver = crate::config::endpoint::DefaultResolver::new();
426 let endpoint = resolver.resolve_endpoint(¶ms);
427 let error =
428 endpoint.expect_err("expected error: Invalid configuration: Multi-Region Access Point ARNs are disabled. [MRAP explicitly disabled]");
429 assert_eq!(
430 format!("{}", error),
431 "Invalid configuration: Multi-Region Access Point ARNs are disabled."
432 )
433 }
434
435 #[test]
437 fn test_20() {
438 let params = crate::config::endpoint::Params::builder()
439 .bucket("bucketname".to_string())
440 .region("us-west-2".to_string())
441 .force_path_style(true)
442 .use_fips(false)
443 .accelerate(false)
444 .use_dual_stack(true)
445 .build()
446 .expect("invalid params");
447 let resolver = crate::config::endpoint::DefaultResolver::new();
448 let endpoint = resolver.resolve_endpoint(¶ms);
449 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucketname");
450 assert_eq!(
451 endpoint,
452 ::aws_smithy_types::endpoint::Endpoint::builder()
453 .url("https://s3.dualstack.us-west-2.amazonaws.com/bucketname")
454 .property(
455 "authSchemes",
456 vec![::aws_smithy_types::Document::from({
457 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
458 out.insert("name".to_string(), "sigv4".to_string().into());
459 out.insert("signingName".to_string(), "s3".to_string().into());
460 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
461 out.insert("disableDoubleEncoding".to_string(), true.into());
462 out
463 })]
464 )
465 .build()
466 );
467 }
468
469 #[test]
471 fn test_21() {
472 let params = crate::config::endpoint::Params::builder()
473 .bucket("bucketname".to_string())
474 .region("us-west-2".to_string())
475 .force_path_style(true)
476 .use_fips(false)
477 .accelerate(false)
478 .use_dual_stack(true)
479 .endpoint("https://abc.com".to_string())
480 .build()
481 .expect("invalid params");
482 let resolver = crate::config::endpoint::DefaultResolver::new();
483 let endpoint = resolver.resolve_endpoint(¶ms);
484 let error = endpoint
485 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [Dual-stack endpoint + SDK::Host is error]");
486 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
487 }
488
489 #[test]
491 fn test_22() {
492 let params = crate::config::endpoint::Params::builder()
493 .accelerate(false)
494 .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
495 .force_path_style(true)
496 .region("us-west-2".to_string())
497 .use_dual_stack(false)
498 .use_fips(false)
499 .build()
500 .expect("invalid params");
501 let resolver = crate::config::endpoint::DefaultResolver::new();
502 let endpoint = resolver.resolve_endpoint(¶ms);
503 let error = endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + ARN bucket]");
504 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
505 }
506
507 #[test]
509 fn test_23() {
510 let params = crate::config::endpoint::Params::builder()
511 .accelerate(false)
512 .bucket("99_ab".to_string())
513 .region("us-west-2".to_string())
514 .use_dual_stack(true)
515 .use_fips(false)
516 .build()
517 .expect("invalid params");
518 let resolver = crate::config::endpoint::DefaultResolver::new();
519 let endpoint = resolver.resolve_endpoint(¶ms);
520 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/99_ab");
521 assert_eq!(
522 endpoint,
523 ::aws_smithy_types::endpoint::Endpoint::builder()
524 .url("https://s3.dualstack.us-west-2.amazonaws.com/99_ab")
525 .property(
526 "authSchemes",
527 vec![::aws_smithy_types::Document::from({
528 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
529 out.insert("name".to_string(), "sigv4".to_string().into());
530 out.insert("signingName".to_string(), "s3".to_string().into());
531 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
532 out.insert("disableDoubleEncoding".to_string(), true.into());
533 out
534 })]
535 )
536 .build()
537 );
538 }
539
540 #[test]
542 fn test_24() {
543 let params = crate::config::endpoint::Params::builder()
544 .accelerate(false)
545 .bucket("99_ab".to_string())
546 .region("us-west-2".to_string())
547 .use_dual_stack(true)
548 .use_fips(false)
549 .endpoint("http://abc.com".to_string())
550 .build()
551 .expect("invalid params");
552 let resolver = crate::config::endpoint::DefaultResolver::new();
553 let endpoint = resolver.resolve_endpoint(¶ms);
554 let error = endpoint
555 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [implicit path style bucket + dualstack]");
556 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
557 }
558
559 #[test]
561 fn test_25() {
562 let params = crate::config::endpoint::Params::builder()
563 .bucket("example.com#".to_string())
564 .region("us-west-2".to_string())
565 .use_dual_stack(false)
566 .use_fips(false)
567 .accelerate(false)
568 .build()
569 .expect("invalid params");
570 let resolver = crate::config::endpoint::DefaultResolver::new();
571 let endpoint = resolver.resolve_endpoint(¶ms);
572 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/example.com%23");
573 assert_eq!(
574 endpoint,
575 ::aws_smithy_types::endpoint::Endpoint::builder()
576 .url("https://s3.us-west-2.amazonaws.com/example.com%23")
577 .property(
578 "authSchemes",
579 vec![::aws_smithy_types::Document::from({
580 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
581 out.insert("name".to_string(), "sigv4".to_string().into());
582 out.insert("signingName".to_string(), "s3".to_string().into());
583 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
584 out.insert("disableDoubleEncoding".to_string(), true.into());
585 out
586 })]
587 )
588 .build()
589 );
590 }
591
592 #[test]
594 fn test_26() {
595 let params = crate::config::endpoint::Params::builder()
596 .bucket("bucket name".to_string())
597 .region("us-west-2".to_string())
598 .use_dual_stack(false)
599 .use_fips(false)
600 .accelerate(false)
601 .build()
602 .expect("invalid params");
603 let resolver = crate::config::endpoint::DefaultResolver::new();
604 let endpoint = resolver.resolve_endpoint(¶ms);
605 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket%20name");
606 assert_eq!(
607 endpoint,
608 ::aws_smithy_types::endpoint::Endpoint::builder()
609 .url("https://s3.us-west-2.amazonaws.com/bucket%20name")
610 .property(
611 "authSchemes",
612 vec![::aws_smithy_types::Document::from({
613 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
614 out.insert("name".to_string(), "sigv4".to_string().into());
615 out.insert("signingName".to_string(), "s3".to_string().into());
616 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
617 out.insert("disableDoubleEncoding".to_string(), true.into());
618 out
619 })]
620 )
621 .build()
622 );
623 }
624
625 #[test]
627 fn test_27() {
628 let params = crate::config::endpoint::Params::builder()
629 .accelerate(false)
630 .bucket("99_ab".to_string())
631 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
632 .region("af-south-1".to_string())
633 .use_dual_stack(false)
634 .use_fips(false)
635 .build()
636 .expect("invalid params");
637 let resolver = crate::config::endpoint::DefaultResolver::new();
638 let endpoint = resolver.resolve_endpoint(¶ms);
639 let endpoint = endpoint.expect("Expected valid endpoint: http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
640 assert_eq!(
641 endpoint,
642 ::aws_smithy_types::endpoint::Endpoint::builder()
643 .url("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
644 .property(
645 "authSchemes",
646 vec![::aws_smithy_types::Document::from({
647 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
648 out.insert("name".to_string(), "sigv4".to_string().into());
649 out.insert("signingName".to_string(), "s3".to_string().into());
650 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
651 out.insert("disableDoubleEncoding".to_string(), true.into());
652 out
653 })]
654 )
655 .build()
656 );
657 }
658
659 #[test]
661 fn test_28() {
662 let params = crate::config::endpoint::Params::builder()
663 .accelerate(false)
664 .bucket("bucketname".to_string())
665 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo".to_string())
666 .region("af-south-1".to_string())
667 .use_dual_stack(false)
668 .use_fips(false)
669 .build()
670 .expect("invalid params");
671 let resolver = crate::config::endpoint::DefaultResolver::new();
672 let endpoint = resolver.resolve_endpoint(¶ms);
673 let endpoint = endpoint.expect("Expected valid endpoint: http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo");
674 assert_eq!(
675 endpoint,
676 ::aws_smithy_types::endpoint::Endpoint::builder()
677 .url("http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo")
678 .property(
679 "authSchemes",
680 vec![::aws_smithy_types::Document::from({
681 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
682 out.insert("name".to_string(), "sigv4".to_string().into());
683 out.insert("signingName".to_string(), "s3".to_string().into());
684 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
685 out.insert("disableDoubleEncoding".to_string(), true.into());
686 out
687 })]
688 )
689 .build()
690 );
691 }
692
693 #[test]
695 fn test_29() {
696 let params = crate::config::endpoint::Params::builder()
697 .accelerate(false)
698 .bucket("99_ab".to_string())
699 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
700 .region("af-south-1".to_string())
701 .use_dual_stack(false)
702 .use_fips(false)
703 .build()
704 .expect("invalid params");
705 let resolver = crate::config::endpoint::DefaultResolver::new();
706 let endpoint = resolver.resolve_endpoint(¶ms);
707 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
708 assert_eq!(
709 endpoint,
710 ::aws_smithy_types::endpoint::Endpoint::builder()
711 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
712 .property(
713 "authSchemes",
714 vec![::aws_smithy_types::Document::from({
715 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
716 out.insert("name".to_string(), "sigv4".to_string().into());
717 out.insert("signingName".to_string(), "s3".to_string().into());
718 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
719 out.insert("disableDoubleEncoding".to_string(), true.into());
720 out
721 })]
722 )
723 .build()
724 );
725 }
726
727 #[test]
729 fn test_30() {
730 let params = crate::config::endpoint::Params::builder()
731 .accelerate(false)
732 .bucket("bucketname".to_string())
733 .endpoint("abcde://nota#url".to_string())
734 .region("af-south-1".to_string())
735 .use_dual_stack(false)
736 .use_fips(false)
737 .build()
738 .expect("invalid params");
739 let resolver = crate::config::endpoint::DefaultResolver::new();
740 let endpoint = resolver.resolve_endpoint(¶ms);
741 let error = endpoint.expect_err("expected error: Custom endpoint `abcde://nota#url` was not a valid URI [invalid Endpoint override]");
742 assert_eq!(format!("{}", error), "Custom endpoint `abcde://nota#url` was not a valid URI")
743 }
744
745 #[test]
747 fn test_31() {
748 let params = crate::config::endpoint::Params::builder()
749 .accelerate(false)
750 .bucket("bucketname".to_string())
751 .endpoint("https://123.123.0.1".to_string())
752 .region("af-south-1".to_string())
753 .use_dual_stack(false)
754 .use_fips(false)
755 .build()
756 .expect("invalid params");
757 let resolver = crate::config::endpoint::DefaultResolver::new();
758 let endpoint = resolver.resolve_endpoint(¶ms);
759 let endpoint = endpoint.expect("Expected valid endpoint: https://123.123.0.1/bucketname");
760 assert_eq!(
761 endpoint,
762 ::aws_smithy_types::endpoint::Endpoint::builder()
763 .url("https://123.123.0.1/bucketname")
764 .property(
765 "authSchemes",
766 vec![::aws_smithy_types::Document::from({
767 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
768 out.insert("name".to_string(), "sigv4".to_string().into());
769 out.insert("signingName".to_string(), "s3".to_string().into());
770 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
771 out.insert("disableDoubleEncoding".to_string(), true.into());
772 out
773 })]
774 )
775 .build()
776 );
777 }
778
779 #[test]
781 fn test_32() {
782 let params = crate::config::endpoint::Params::builder()
783 .accelerate(false)
784 .bucket("arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint".to_string())
785 .force_path_style(false)
786 .use_arn_region(false)
787 .region("us-west-2".to_string())
788 .use_dual_stack(false)
789 .use_fips(false)
790 .build()
791 .expect("invalid params");
792 let resolver = crate::config::endpoint::DefaultResolver::new();
793 let endpoint = resolver.resolve_endpoint(¶ms);
794 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]");
795 assert_eq!(
796 format!("{}", error),
797 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
798 )
799 }
800
801 #[test]
803 fn test_33() {
804 let params = crate::config::endpoint::Params::builder()
805 .accelerate(false)
806 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
807 .force_path_style(false)
808 .region("us-east-1".to_string())
809 .use_dual_stack(false)
810 .use_fips(false)
811 .build()
812 .expect("invalid params");
813 let resolver = crate::config::endpoint::DefaultResolver::new();
814 let endpoint = resolver.resolve_endpoint(¶ms);
815 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
816 assert_eq!(
817 endpoint,
818 ::aws_smithy_types::endpoint::Endpoint::builder()
819 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
820 .property(
821 "authSchemes",
822 vec![::aws_smithy_types::Document::from({
823 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
824 out.insert("name".to_string(), "sigv4".to_string().into());
825 out.insert("signingName".to_string(), "s3".to_string().into());
826 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
827 out.insert("disableDoubleEncoding".to_string(), true.into());
828 out
829 })]
830 )
831 .build()
832 );
833 }
834
835 #[test]
837 fn test_34() {
838 let params = crate::config::endpoint::Params::builder()
839 .accelerate(false)
840 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
841 .force_path_style(false)
842 .use_arn_region(true)
843 .region("us-east-1".to_string())
844 .use_dual_stack(false)
845 .use_fips(false)
846 .build()
847 .expect("invalid params");
848 let resolver = crate::config::endpoint::DefaultResolver::new();
849 let endpoint = resolver.resolve_endpoint(¶ms);
850 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
851 assert_eq!(
852 endpoint,
853 ::aws_smithy_types::endpoint::Endpoint::builder()
854 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
855 .property(
856 "authSchemes",
857 vec![::aws_smithy_types::Document::from({
858 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
859 out.insert("name".to_string(), "sigv4".to_string().into());
860 out.insert("signingName".to_string(), "s3".to_string().into());
861 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
862 out.insert("disableDoubleEncoding".to_string(), true.into());
863 out
864 })]
865 )
866 .build()
867 );
868 }
869
870 #[test]
872 fn test_35() {
873 let params = crate::config::endpoint::Params::builder()
874 .bucket("bucket.name".to_string())
875 .region("us-east-1".to_string())
876 .build()
877 .expect("invalid params");
878 let resolver = crate::config::endpoint::DefaultResolver::new();
879 let endpoint = resolver.resolve_endpoint(¶ms);
880 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/bucket.name");
881 assert_eq!(
882 endpoint,
883 ::aws_smithy_types::endpoint::Endpoint::builder()
884 .url("https://s3.us-east-1.amazonaws.com/bucket.name")
885 .property(
886 "authSchemes",
887 vec![::aws_smithy_types::Document::from({
888 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
889 out.insert("name".to_string(), "sigv4".to_string().into());
890 out.insert("signingName".to_string(), "s3".to_string().into());
891 out.insert("disableDoubleEncoding".to_string(), true.into());
892 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
893 out
894 })]
895 )
896 .build()
897 );
898 }
899
900 #[test]
902 fn test_36() {
903 let params = crate::config::endpoint::Params::builder()
904 .bucket("aaa".to_string())
905 .region("us-east-1".to_string())
906 .build()
907 .expect("invalid params");
908 let resolver = crate::config::endpoint::DefaultResolver::new();
909 let endpoint = resolver.resolve_endpoint(¶ms);
910 let endpoint = endpoint.expect("Expected valid endpoint: https://aaa.s3.us-east-1.amazonaws.com");
911 assert_eq!(
912 endpoint,
913 ::aws_smithy_types::endpoint::Endpoint::builder()
914 .url("https://aaa.s3.us-east-1.amazonaws.com")
915 .property(
916 "authSchemes",
917 vec![::aws_smithy_types::Document::from({
918 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
919 out.insert("name".to_string(), "sigv4".to_string().into());
920 out.insert("signingName".to_string(), "s3".to_string().into());
921 out.insert("disableDoubleEncoding".to_string(), true.into());
922 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
923 out
924 })]
925 )
926 .build()
927 );
928 }
929
930 #[test]
932 fn test_37() {
933 let params = crate::config::endpoint::Params::builder()
934 .bucket("aa".to_string())
935 .region("us-east-1".to_string())
936 .build()
937 .expect("invalid params");
938 let resolver = crate::config::endpoint::DefaultResolver::new();
939 let endpoint = resolver.resolve_endpoint(¶ms);
940 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/aa");
941 assert_eq!(
942 endpoint,
943 ::aws_smithy_types::endpoint::Endpoint::builder()
944 .url("https://s3.us-east-1.amazonaws.com/aa")
945 .property(
946 "authSchemes",
947 vec![::aws_smithy_types::Document::from({
948 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
949 out.insert("name".to_string(), "sigv4".to_string().into());
950 out.insert("signingName".to_string(), "s3".to_string().into());
951 out.insert("disableDoubleEncoding".to_string(), true.into());
952 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
953 out
954 })]
955 )
956 .build()
957 );
958 }
959
960 #[test]
962 fn test_38() {
963 let params = crate::config::endpoint::Params::builder()
964 .bucket("BucketName".to_string())
965 .region("us-east-1".to_string())
966 .build()
967 .expect("invalid params");
968 let resolver = crate::config::endpoint::DefaultResolver::new();
969 let endpoint = resolver.resolve_endpoint(¶ms);
970 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/BucketName");
971 assert_eq!(
972 endpoint,
973 ::aws_smithy_types::endpoint::Endpoint::builder()
974 .url("https://s3.us-east-1.amazonaws.com/BucketName")
975 .property(
976 "authSchemes",
977 vec![::aws_smithy_types::Document::from({
978 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
979 out.insert("name".to_string(), "sigv4".to_string().into());
980 out.insert("signingName".to_string(), "s3".to_string().into());
981 out.insert("disableDoubleEncoding".to_string(), true.into());
982 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
983 out
984 })]
985 )
986 .build()
987 );
988 }
989
990 #[test]
992 fn test_39() {
993 let params = crate::config::endpoint::Params::builder()
994 .bucket("bucket.name".to_string())
995 .region("us-east-1".to_string())
996 .endpoint("http://example.com".to_string())
997 .build()
998 .expect("invalid params");
999 let resolver = crate::config::endpoint::DefaultResolver::new();
1000 let endpoint = resolver.resolve_endpoint(¶ms);
1001 let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.name.example.com");
1002 assert_eq!(
1003 endpoint,
1004 ::aws_smithy_types::endpoint::Endpoint::builder()
1005 .url("http://bucket.name.example.com")
1006 .property(
1007 "authSchemes",
1008 vec![::aws_smithy_types::Document::from({
1009 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1010 out.insert("name".to_string(), "sigv4".to_string().into());
1011 out.insert("signingName".to_string(), "s3".to_string().into());
1012 out.insert("disableDoubleEncoding".to_string(), true.into());
1013 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1014 out
1015 })]
1016 )
1017 .build()
1018 );
1019 }
1020
1021 #[test]
1023 fn test_40() {
1024 let params = crate::config::endpoint::Params::builder()
1025 .bucket("bucket-name".to_string())
1026 .build()
1027 .expect("invalid params");
1028 let resolver = crate::config::endpoint::DefaultResolver::new();
1029 let endpoint = resolver.resolve_endpoint(¶ms);
1030 let error = endpoint.expect_err("expected error: A region must be set when sending requests to S3. [no region set]");
1031 assert_eq!(format!("{}", error), "A region must be set when sending requests to S3.")
1032 }
1033
1034 #[test]
1036 fn test_41() {
1037 let params = crate::config::endpoint::Params::builder()
1038 .region("us-east-1".to_string())
1039 .use_global_endpoint(true)
1040 .use_fips(false)
1041 .use_dual_stack(false)
1042 .accelerate(false)
1043 .build()
1044 .expect("invalid params");
1045 let resolver = crate::config::endpoint::DefaultResolver::new();
1046 let endpoint = resolver.resolve_endpoint(¶ms);
1047 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1048 assert_eq!(
1049 endpoint,
1050 ::aws_smithy_types::endpoint::Endpoint::builder()
1051 .url("https://s3.amazonaws.com")
1052 .property(
1053 "authSchemes",
1054 vec![::aws_smithy_types::Document::from({
1055 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1056 out.insert("name".to_string(), "sigv4".to_string().into());
1057 out.insert("signingName".to_string(), "s3".to_string().into());
1058 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1059 out.insert("disableDoubleEncoding".to_string(), true.into());
1060 out
1061 })]
1062 )
1063 .build()
1064 );
1065 }
1066
1067 #[test]
1069 fn test_42() {
1070 let params = crate::config::endpoint::Params::builder()
1071 .region("us-west-2".to_string())
1072 .use_global_endpoint(true)
1073 .use_fips(false)
1074 .use_dual_stack(false)
1075 .accelerate(false)
1076 .build()
1077 .expect("invalid params");
1078 let resolver = crate::config::endpoint::DefaultResolver::new();
1079 let endpoint = resolver.resolve_endpoint(¶ms);
1080 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
1081 assert_eq!(
1082 endpoint,
1083 ::aws_smithy_types::endpoint::Endpoint::builder()
1084 .url("https://s3.us-west-2.amazonaws.com")
1085 .property(
1086 "authSchemes",
1087 vec![::aws_smithy_types::Document::from({
1088 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1089 out.insert("name".to_string(), "sigv4".to_string().into());
1090 out.insert("signingName".to_string(), "s3".to_string().into());
1091 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
1092 out.insert("disableDoubleEncoding".to_string(), true.into());
1093 out
1094 })]
1095 )
1096 .build()
1097 );
1098 }
1099
1100 #[test]
1102 fn test_43() {
1103 let params = crate::config::endpoint::Params::builder()
1104 .region("cn-north-1".to_string())
1105 .use_global_endpoint(true)
1106 .use_fips(false)
1107 .use_dual_stack(false)
1108 .accelerate(false)
1109 .build()
1110 .expect("invalid params");
1111 let resolver = crate::config::endpoint::DefaultResolver::new();
1112 let endpoint = resolver.resolve_endpoint(¶ms);
1113 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn");
1114 assert_eq!(
1115 endpoint,
1116 ::aws_smithy_types::endpoint::Endpoint::builder()
1117 .url("https://s3.cn-north-1.amazonaws.com.cn")
1118 .property(
1119 "authSchemes",
1120 vec![::aws_smithy_types::Document::from({
1121 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1122 out.insert("name".to_string(), "sigv4".to_string().into());
1123 out.insert("signingName".to_string(), "s3".to_string().into());
1124 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
1125 out.insert("disableDoubleEncoding".to_string(), true.into());
1126 out
1127 })]
1128 )
1129 .build()
1130 );
1131 }
1132
1133 #[test]
1135 fn test_44() {
1136 let params = crate::config::endpoint::Params::builder()
1137 .region("us-east-1".to_string())
1138 .use_global_endpoint(true)
1139 .use_fips(true)
1140 .use_dual_stack(false)
1141 .accelerate(false)
1142 .build()
1143 .expect("invalid params");
1144 let resolver = crate::config::endpoint::DefaultResolver::new();
1145 let endpoint = resolver.resolve_endpoint(¶ms);
1146 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
1147 assert_eq!(
1148 endpoint,
1149 ::aws_smithy_types::endpoint::Endpoint::builder()
1150 .url("https://s3-fips.us-east-1.amazonaws.com")
1151 .property(
1152 "authSchemes",
1153 vec![::aws_smithy_types::Document::from({
1154 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1155 out.insert("name".to_string(), "sigv4".to_string().into());
1156 out.insert("signingName".to_string(), "s3".to_string().into());
1157 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1158 out.insert("disableDoubleEncoding".to_string(), true.into());
1159 out
1160 })]
1161 )
1162 .build()
1163 );
1164 }
1165
1166 #[test]
1168 fn test_45() {
1169 let params = crate::config::endpoint::Params::builder()
1170 .region("us-east-1".to_string())
1171 .use_global_endpoint(true)
1172 .use_fips(false)
1173 .use_dual_stack(true)
1174 .accelerate(false)
1175 .build()
1176 .expect("invalid params");
1177 let resolver = crate::config::endpoint::DefaultResolver::new();
1178 let endpoint = resolver.resolve_endpoint(¶ms);
1179 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
1180 assert_eq!(
1181 endpoint,
1182 ::aws_smithy_types::endpoint::Endpoint::builder()
1183 .url("https://s3.dualstack.us-east-1.amazonaws.com")
1184 .property(
1185 "authSchemes",
1186 vec![::aws_smithy_types::Document::from({
1187 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1188 out.insert("name".to_string(), "sigv4".to_string().into());
1189 out.insert("signingName".to_string(), "s3".to_string().into());
1190 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1191 out.insert("disableDoubleEncoding".to_string(), true.into());
1192 out
1193 })]
1194 )
1195 .build()
1196 );
1197 }
1198
1199 #[test]
1201 fn test_46() {
1202 let params = crate::config::endpoint::Params::builder()
1203 .region("us-east-1".to_string())
1204 .use_global_endpoint(true)
1205 .use_fips(true)
1206 .use_dual_stack(true)
1207 .accelerate(false)
1208 .build()
1209 .expect("invalid params");
1210 let resolver = crate::config::endpoint::DefaultResolver::new();
1211 let endpoint = resolver.resolve_endpoint(¶ms);
1212 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
1213 assert_eq!(
1214 endpoint,
1215 ::aws_smithy_types::endpoint::Endpoint::builder()
1216 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
1217 .property(
1218 "authSchemes",
1219 vec![::aws_smithy_types::Document::from({
1220 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1221 out.insert("name".to_string(), "sigv4".to_string().into());
1222 out.insert("signingName".to_string(), "s3".to_string().into());
1223 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1224 out.insert("disableDoubleEncoding".to_string(), true.into());
1225 out
1226 })]
1227 )
1228 .build()
1229 );
1230 }
1231
1232 #[test]
1234 fn test_47() {
1235 let params = crate::config::endpoint::Params::builder()
1236 .region("us-east-1".to_string())
1237 .endpoint("https://example.com".to_string())
1238 .use_global_endpoint(true)
1239 .use_fips(false)
1240 .use_dual_stack(false)
1241 .accelerate(false)
1242 .build()
1243 .expect("invalid params");
1244 let resolver = crate::config::endpoint::DefaultResolver::new();
1245 let endpoint = resolver.resolve_endpoint(¶ms);
1246 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1247 assert_eq!(
1248 endpoint,
1249 ::aws_smithy_types::endpoint::Endpoint::builder()
1250 .url("https://example.com")
1251 .property(
1252 "authSchemes",
1253 vec![::aws_smithy_types::Document::from({
1254 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1255 out.insert("name".to_string(), "sigv4".to_string().into());
1256 out.insert("signingName".to_string(), "s3".to_string().into());
1257 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1258 out.insert("disableDoubleEncoding".to_string(), true.into());
1259 out
1260 })]
1261 )
1262 .build()
1263 );
1264 }
1265
1266 #[test]
1268 fn test_48() {
1269 let params = crate::config::endpoint::Params::builder()
1270 .region("us-west-2".to_string())
1271 .endpoint("https://example.com".to_string())
1272 .use_global_endpoint(true)
1273 .use_fips(false)
1274 .use_dual_stack(false)
1275 .accelerate(false)
1276 .build()
1277 .expect("invalid params");
1278 let resolver = crate::config::endpoint::DefaultResolver::new();
1279 let endpoint = resolver.resolve_endpoint(¶ms);
1280 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1281 assert_eq!(
1282 endpoint,
1283 ::aws_smithy_types::endpoint::Endpoint::builder()
1284 .url("https://example.com")
1285 .property(
1286 "authSchemes",
1287 vec![::aws_smithy_types::Document::from({
1288 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1289 out.insert("name".to_string(), "sigv4".to_string().into());
1290 out.insert("signingName".to_string(), "s3".to_string().into());
1291 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
1292 out.insert("disableDoubleEncoding".to_string(), true.into());
1293 out
1294 })]
1295 )
1296 .build()
1297 );
1298 }
1299
1300 #[test]
1302 fn test_49() {
1303 let params = crate::config::endpoint::Params::builder()
1304 .region("us-east-1".to_string())
1305 .use_global_endpoint(true)
1306 .use_fips(false)
1307 .use_dual_stack(false)
1308 .accelerate(true)
1309 .build()
1310 .expect("invalid params");
1311 let resolver = crate::config::endpoint::DefaultResolver::new();
1312 let endpoint = resolver.resolve_endpoint(¶ms);
1313 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1314 assert_eq!(
1315 endpoint,
1316 ::aws_smithy_types::endpoint::Endpoint::builder()
1317 .url("https://s3.amazonaws.com")
1318 .property(
1319 "authSchemes",
1320 vec![::aws_smithy_types::Document::from({
1321 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1322 out.insert("name".to_string(), "sigv4".to_string().into());
1323 out.insert("signingName".to_string(), "s3".to_string().into());
1324 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1325 out.insert("disableDoubleEncoding".to_string(), true.into());
1326 out
1327 })]
1328 )
1329 .build()
1330 );
1331 }
1332
1333 #[test]
1335 fn test_50() {
1336 let params = crate::config::endpoint::Params::builder()
1337 .region("aws-global".to_string())
1338 .use_fips(false)
1339 .use_dual_stack(false)
1340 .accelerate(false)
1341 .build()
1342 .expect("invalid params");
1343 let resolver = crate::config::endpoint::DefaultResolver::new();
1344 let endpoint = resolver.resolve_endpoint(¶ms);
1345 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1346 assert_eq!(
1347 endpoint,
1348 ::aws_smithy_types::endpoint::Endpoint::builder()
1349 .url("https://s3.amazonaws.com")
1350 .property(
1351 "authSchemes",
1352 vec![::aws_smithy_types::Document::from({
1353 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1354 out.insert("name".to_string(), "sigv4".to_string().into());
1355 out.insert("signingName".to_string(), "s3".to_string().into());
1356 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1357 out.insert("disableDoubleEncoding".to_string(), true.into());
1358 out
1359 })]
1360 )
1361 .build()
1362 );
1363 }
1364
1365 #[test]
1367 fn test_51() {
1368 let params = crate::config::endpoint::Params::builder()
1369 .region("aws-global".to_string())
1370 .use_fips(true)
1371 .use_dual_stack(false)
1372 .accelerate(false)
1373 .build()
1374 .expect("invalid params");
1375 let resolver = crate::config::endpoint::DefaultResolver::new();
1376 let endpoint = resolver.resolve_endpoint(¶ms);
1377 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
1378 assert_eq!(
1379 endpoint,
1380 ::aws_smithy_types::endpoint::Endpoint::builder()
1381 .url("https://s3-fips.us-east-1.amazonaws.com")
1382 .property(
1383 "authSchemes",
1384 vec![::aws_smithy_types::Document::from({
1385 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1386 out.insert("name".to_string(), "sigv4".to_string().into());
1387 out.insert("signingName".to_string(), "s3".to_string().into());
1388 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1389 out.insert("disableDoubleEncoding".to_string(), true.into());
1390 out
1391 })]
1392 )
1393 .build()
1394 );
1395 }
1396
1397 #[test]
1399 fn test_52() {
1400 let params = crate::config::endpoint::Params::builder()
1401 .region("aws-global".to_string())
1402 .use_fips(false)
1403 .use_dual_stack(true)
1404 .accelerate(false)
1405 .build()
1406 .expect("invalid params");
1407 let resolver = crate::config::endpoint::DefaultResolver::new();
1408 let endpoint = resolver.resolve_endpoint(¶ms);
1409 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
1410 assert_eq!(
1411 endpoint,
1412 ::aws_smithy_types::endpoint::Endpoint::builder()
1413 .url("https://s3.dualstack.us-east-1.amazonaws.com")
1414 .property(
1415 "authSchemes",
1416 vec![::aws_smithy_types::Document::from({
1417 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1418 out.insert("name".to_string(), "sigv4".to_string().into());
1419 out.insert("signingName".to_string(), "s3".to_string().into());
1420 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1421 out.insert("disableDoubleEncoding".to_string(), true.into());
1422 out
1423 })]
1424 )
1425 .build()
1426 );
1427 }
1428
1429 #[test]
1431 fn test_53() {
1432 let params = crate::config::endpoint::Params::builder()
1433 .region("aws-global".to_string())
1434 .use_fips(true)
1435 .use_dual_stack(true)
1436 .accelerate(false)
1437 .build()
1438 .expect("invalid params");
1439 let resolver = crate::config::endpoint::DefaultResolver::new();
1440 let endpoint = resolver.resolve_endpoint(¶ms);
1441 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
1442 assert_eq!(
1443 endpoint,
1444 ::aws_smithy_types::endpoint::Endpoint::builder()
1445 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
1446 .property(
1447 "authSchemes",
1448 vec![::aws_smithy_types::Document::from({
1449 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1450 out.insert("name".to_string(), "sigv4".to_string().into());
1451 out.insert("signingName".to_string(), "s3".to_string().into());
1452 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1453 out.insert("disableDoubleEncoding".to_string(), true.into());
1454 out
1455 })]
1456 )
1457 .build()
1458 );
1459 }
1460
1461 #[test]
1463 fn test_54() {
1464 let params = crate::config::endpoint::Params::builder()
1465 .region("aws-global".to_string())
1466 .use_fips(false)
1467 .use_dual_stack(false)
1468 .accelerate(true)
1469 .build()
1470 .expect("invalid params");
1471 let resolver = crate::config::endpoint::DefaultResolver::new();
1472 let endpoint = resolver.resolve_endpoint(¶ms);
1473 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
1474 assert_eq!(
1475 endpoint,
1476 ::aws_smithy_types::endpoint::Endpoint::builder()
1477 .url("https://s3.amazonaws.com")
1478 .property(
1479 "authSchemes",
1480 vec![::aws_smithy_types::Document::from({
1481 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1482 out.insert("name".to_string(), "sigv4".to_string().into());
1483 out.insert("signingName".to_string(), "s3".to_string().into());
1484 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1485 out.insert("disableDoubleEncoding".to_string(), true.into());
1486 out
1487 })]
1488 )
1489 .build()
1490 );
1491 }
1492
1493 #[test]
1495 fn test_55() {
1496 let params = crate::config::endpoint::Params::builder()
1497 .region("aws-global".to_string())
1498 .endpoint("https://example.com".to_string())
1499 .use_global_endpoint(false)
1500 .use_fips(false)
1501 .use_dual_stack(false)
1502 .accelerate(false)
1503 .build()
1504 .expect("invalid params");
1505 let resolver = crate::config::endpoint::DefaultResolver::new();
1506 let endpoint = resolver.resolve_endpoint(¶ms);
1507 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
1508 assert_eq!(
1509 endpoint,
1510 ::aws_smithy_types::endpoint::Endpoint::builder()
1511 .url("https://example.com")
1512 .property(
1513 "authSchemes",
1514 vec![::aws_smithy_types::Document::from({
1515 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1516 out.insert("name".to_string(), "sigv4".to_string().into());
1517 out.insert("signingName".to_string(), "s3".to_string().into());
1518 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1519 out.insert("disableDoubleEncoding".to_string(), true.into());
1520 out
1521 })]
1522 )
1523 .build()
1524 );
1525 }
1526
1527 #[test]
1529 fn test_56() {
1530 let params = crate::config::endpoint::Params::builder()
1531 .region("aws-global".to_string())
1532 .bucket("bucket-name".to_string())
1533 .use_fips(false)
1534 .use_dual_stack(false)
1535 .accelerate(false)
1536 .build()
1537 .expect("invalid params");
1538 let resolver = crate::config::endpoint::DefaultResolver::new();
1539 let endpoint = resolver.resolve_endpoint(¶ms);
1540 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
1541 assert_eq!(
1542 endpoint,
1543 ::aws_smithy_types::endpoint::Endpoint::builder()
1544 .url("https://bucket-name.s3.amazonaws.com")
1545 .property(
1546 "authSchemes",
1547 vec![::aws_smithy_types::Document::from({
1548 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1549 out.insert("name".to_string(), "sigv4".to_string().into());
1550 out.insert("signingName".to_string(), "s3".to_string().into());
1551 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1552 out.insert("disableDoubleEncoding".to_string(), true.into());
1553 out
1554 })]
1555 )
1556 .build()
1557 );
1558 }
1559
1560 #[test]
1562 fn test_57() {
1563 let params = crate::config::endpoint::Params::builder()
1564 .region("aws-global".to_string())
1565 .bucket("bucket-name".to_string())
1566 .use_fips(false)
1567 .use_dual_stack(false)
1568 .accelerate(false)
1569 .prefix("prefix".to_string())
1570 .key("key".to_string())
1571 .build()
1572 .expect("invalid params");
1573 let resolver = crate::config::endpoint::DefaultResolver::new();
1574 let endpoint = resolver.resolve_endpoint(¶ms);
1575 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
1576 assert_eq!(
1577 endpoint,
1578 ::aws_smithy_types::endpoint::Endpoint::builder()
1579 .url("https://bucket-name.s3.amazonaws.com")
1580 .property(
1581 "authSchemes",
1582 vec![::aws_smithy_types::Document::from({
1583 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1584 out.insert("name".to_string(), "sigv4".to_string().into());
1585 out.insert("signingName".to_string(), "s3".to_string().into());
1586 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1587 out.insert("disableDoubleEncoding".to_string(), true.into());
1588 out
1589 })]
1590 )
1591 .build()
1592 );
1593 }
1594
1595 #[test]
1597 fn test_58() {
1598 let params = crate::config::endpoint::Params::builder()
1599 .region("aws-global".to_string())
1600 .bucket("bucket-name".to_string())
1601 .use_fips(true)
1602 .use_dual_stack(false)
1603 .accelerate(false)
1604 .build()
1605 .expect("invalid params");
1606 let resolver = crate::config::endpoint::DefaultResolver::new();
1607 let endpoint = resolver.resolve_endpoint(¶ms);
1608 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
1609 assert_eq!(
1610 endpoint,
1611 ::aws_smithy_types::endpoint::Endpoint::builder()
1612 .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
1613 .property(
1614 "authSchemes",
1615 vec![::aws_smithy_types::Document::from({
1616 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1617 out.insert("name".to_string(), "sigv4".to_string().into());
1618 out.insert("signingName".to_string(), "s3".to_string().into());
1619 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1620 out.insert("disableDoubleEncoding".to_string(), true.into());
1621 out
1622 })]
1623 )
1624 .build()
1625 );
1626 }
1627
1628 #[test]
1630 fn test_59() {
1631 let params = crate::config::endpoint::Params::builder()
1632 .region("aws-global".to_string())
1633 .bucket("bucket-name".to_string())
1634 .use_fips(false)
1635 .use_dual_stack(true)
1636 .accelerate(false)
1637 .build()
1638 .expect("invalid params");
1639 let resolver = crate::config::endpoint::DefaultResolver::new();
1640 let endpoint = resolver.resolve_endpoint(¶ms);
1641 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
1642 assert_eq!(
1643 endpoint,
1644 ::aws_smithy_types::endpoint::Endpoint::builder()
1645 .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
1646 .property(
1647 "authSchemes",
1648 vec![::aws_smithy_types::Document::from({
1649 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1650 out.insert("name".to_string(), "sigv4".to_string().into());
1651 out.insert("signingName".to_string(), "s3".to_string().into());
1652 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1653 out.insert("disableDoubleEncoding".to_string(), true.into());
1654 out
1655 })]
1656 )
1657 .build()
1658 );
1659 }
1660
1661 #[test]
1663 fn test_60() {
1664 let params = crate::config::endpoint::Params::builder()
1665 .region("aws-global".to_string())
1666 .bucket("bucket-name".to_string())
1667 .use_fips(true)
1668 .use_dual_stack(true)
1669 .accelerate(false)
1670 .build()
1671 .expect("invalid params");
1672 let resolver = crate::config::endpoint::DefaultResolver::new();
1673 let endpoint = resolver.resolve_endpoint(¶ms);
1674 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com");
1675 assert_eq!(
1676 endpoint,
1677 ::aws_smithy_types::endpoint::Endpoint::builder()
1678 .url("https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com")
1679 .property(
1680 "authSchemes",
1681 vec![::aws_smithy_types::Document::from({
1682 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1683 out.insert("name".to_string(), "sigv4".to_string().into());
1684 out.insert("signingName".to_string(), "s3".to_string().into());
1685 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1686 out.insert("disableDoubleEncoding".to_string(), true.into());
1687 out
1688 })]
1689 )
1690 .build()
1691 );
1692 }
1693
1694 #[test]
1696 fn test_61() {
1697 let params = crate::config::endpoint::Params::builder()
1698 .region("aws-global".to_string())
1699 .bucket("bucket-name".to_string())
1700 .use_fips(false)
1701 .use_dual_stack(false)
1702 .accelerate(true)
1703 .build()
1704 .expect("invalid params");
1705 let resolver = crate::config::endpoint::DefaultResolver::new();
1706 let endpoint = resolver.resolve_endpoint(¶ms);
1707 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
1708 assert_eq!(
1709 endpoint,
1710 ::aws_smithy_types::endpoint::Endpoint::builder()
1711 .url("https://bucket-name.s3-accelerate.amazonaws.com")
1712 .property(
1713 "authSchemes",
1714 vec![::aws_smithy_types::Document::from({
1715 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1716 out.insert("name".to_string(), "sigv4".to_string().into());
1717 out.insert("signingName".to_string(), "s3".to_string().into());
1718 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1719 out.insert("disableDoubleEncoding".to_string(), true.into());
1720 out
1721 })]
1722 )
1723 .build()
1724 );
1725 }
1726
1727 #[test]
1729 fn test_62() {
1730 let params = crate::config::endpoint::Params::builder()
1731 .region("aws-global".to_string())
1732 .endpoint("https://example.com".to_string())
1733 .bucket("bucket-name".to_string())
1734 .use_fips(false)
1735 .use_dual_stack(false)
1736 .accelerate(false)
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.example.com");
1742 assert_eq!(
1743 endpoint,
1744 ::aws_smithy_types::endpoint::Endpoint::builder()
1745 .url("https://bucket-name.example.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("us-east-1".to_string())
1766 .use_global_endpoint(true)
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.s3.amazonaws.com");
1776 assert_eq!(
1777 endpoint,
1778 ::aws_smithy_types::endpoint::Endpoint::builder()
1779 .url("https://bucket-name.s3.amazonaws.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-west-2".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.us-west-2.amazonaws.com");
1810 assert_eq!(
1811 endpoint,
1812 ::aws_smithy_types::endpoint::Endpoint::builder()
1813 .url("https://bucket-name.s3.us-west-2.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-west-2".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-east-1".to_string())
1834 .use_global_endpoint(true)
1835 .bucket("bucket-name".to_string())
1836 .use_fips(true)
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-fips.us-east-1.amazonaws.com");
1844 assert_eq!(
1845 endpoint,
1846 ::aws_smithy_types::endpoint::Endpoint::builder()
1847 .url("https://bucket-name.s3-fips.us-east-1.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-east-1".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(false)
1871 .use_dual_stack(true)
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.dualstack.us-east-1.amazonaws.com");
1878 assert_eq!(
1879 endpoint,
1880 ::aws_smithy_types::endpoint::Endpoint::builder()
1881 .url("https://bucket-name.s3.dualstack.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(false)
1906 .accelerate(true)
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-accelerate.amazonaws.com");
1912 assert_eq!(
1913 endpoint,
1914 ::aws_smithy_types::endpoint::Endpoint::builder()
1915 .url("https://bucket-name.s3-accelerate.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 .endpoint("https://example.com".to_string())
1937 .use_global_endpoint(true)
1938 .bucket("bucket-name".to_string())
1939 .use_fips(false)
1940 .use_dual_stack(false)
1941 .accelerate(false)
1942 .build()
1943 .expect("invalid params");
1944 let resolver = crate::config::endpoint::DefaultResolver::new();
1945 let endpoint = resolver.resolve_endpoint(¶ms);
1946 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
1947 assert_eq!(
1948 endpoint,
1949 ::aws_smithy_types::endpoint::Endpoint::builder()
1950 .url("https://bucket-name.example.com")
1951 .property(
1952 "authSchemes",
1953 vec![::aws_smithy_types::Document::from({
1954 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
1955 out.insert("name".to_string(), "sigv4".to_string().into());
1956 out.insert("signingName".to_string(), "s3".to_string().into());
1957 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
1958 out.insert("disableDoubleEncoding".to_string(), true.into());
1959 out
1960 })]
1961 )
1962 .build()
1963 );
1964 }
1965
1966 #[test]
1968 fn test_69() {
1969 let params = crate::config::endpoint::Params::builder()
1970 .region("aws-global".to_string())
1971 .bucket("bucket-name".to_string())
1972 .force_path_style(true)
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://s3.amazonaws.com/bucket-name");
1981 assert_eq!(
1982 endpoint,
1983 ::aws_smithy_types::endpoint::Endpoint::builder()
1984 .url("https://s3.amazonaws.com/bucket-name")
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(true)
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-fips.us-east-1.amazonaws.com/bucket-name");
2015 assert_eq!(
2016 endpoint,
2017 ::aws_smithy_types::endpoint::Endpoint::builder()
2018 .url("https://s3-fips.us-east-1.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("signingName".to_string(), "s3".to_string().into());
2024 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2025 out.insert("disableDoubleEncoding".to_string(), true.into());
2026 out.insert("name".to_string(), "sigv4".to_string().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(false)
2042 .use_dual_stack(true)
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.dualstack.us-east-1.amazonaws.com/bucket-name");
2049 assert_eq!(
2050 endpoint,
2051 ::aws_smithy_types::endpoint::Endpoint::builder()
2052 .url("https://s3.dualstack.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("name".to_string(), "sigv4".to_string().into());
2058 out.insert("signingName".to_string(), "s3".to_string().into());
2059 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2060 out.insert("disableDoubleEncoding".to_string(), true.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 .endpoint("https://example.com".to_string())
2074 .bucket("bucket-name".to_string())
2075 .force_path_style(true)
2076 .use_fips(false)
2077 .use_dual_stack(false)
2078 .accelerate(false)
2079 .build()
2080 .expect("invalid params");
2081 let resolver = crate::config::endpoint::DefaultResolver::new();
2082 let endpoint = resolver.resolve_endpoint(¶ms);
2083 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
2084 assert_eq!(
2085 endpoint,
2086 ::aws_smithy_types::endpoint::Endpoint::builder()
2087 .url("https://example.com/bucket-name")
2088 .property(
2089 "authSchemes",
2090 vec![::aws_smithy_types::Document::from({
2091 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2092 out.insert("name".to_string(), "sigv4".to_string().into());
2093 out.insert("signingName".to_string(), "s3".to_string().into());
2094 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2095 out.insert("disableDoubleEncoding".to_string(), true.into());
2096 out
2097 })]
2098 )
2099 .build()
2100 );
2101 }
2102
2103 #[test]
2105 fn test_73() {
2106 let params = crate::config::endpoint::Params::builder()
2107 .region("us-east-1".to_string())
2108 .bucket("bucket-name".to_string())
2109 .use_global_endpoint(true)
2110 .force_path_style(true)
2111 .use_fips(false)
2112 .use_dual_stack(false)
2113 .accelerate(false)
2114 .build()
2115 .expect("invalid params");
2116 let resolver = crate::config::endpoint::DefaultResolver::new();
2117 let endpoint = resolver.resolve_endpoint(¶ms);
2118 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
2119 assert_eq!(
2120 endpoint,
2121 ::aws_smithy_types::endpoint::Endpoint::builder()
2122 .url("https://s3.amazonaws.com/bucket-name")
2123 .property(
2124 "authSchemes",
2125 vec![::aws_smithy_types::Document::from({
2126 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2127 out.insert("name".to_string(), "sigv4".to_string().into());
2128 out.insert("signingName".to_string(), "s3".to_string().into());
2129 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2130 out.insert("disableDoubleEncoding".to_string(), true.into());
2131 out
2132 })]
2133 )
2134 .build()
2135 );
2136 }
2137
2138 #[test]
2140 fn test_74() {
2141 let params = crate::config::endpoint::Params::builder()
2142 .region("us-west-2".to_string())
2143 .bucket("bucket-name".to_string())
2144 .use_global_endpoint(true)
2145 .force_path_style(true)
2146 .use_fips(false)
2147 .use_dual_stack(false)
2148 .accelerate(false)
2149 .build()
2150 .expect("invalid params");
2151 let resolver = crate::config::endpoint::DefaultResolver::new();
2152 let endpoint = resolver.resolve_endpoint(¶ms);
2153 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
2154 assert_eq!(
2155 endpoint,
2156 ::aws_smithy_types::endpoint::Endpoint::builder()
2157 .url("https://s3.us-west-2.amazonaws.com/bucket-name")
2158 .property(
2159 "authSchemes",
2160 vec![::aws_smithy_types::Document::from({
2161 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2162 out.insert("name".to_string(), "sigv4".to_string().into());
2163 out.insert("signingName".to_string(), "s3".to_string().into());
2164 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2165 out.insert("disableDoubleEncoding".to_string(), true.into());
2166 out
2167 })]
2168 )
2169 .build()
2170 );
2171 }
2172
2173 #[test]
2175 fn test_75() {
2176 let params = crate::config::endpoint::Params::builder()
2177 .region("us-east-1".to_string())
2178 .bucket("bucket-name".to_string())
2179 .use_global_endpoint(true)
2180 .force_path_style(true)
2181 .use_fips(false)
2182 .use_dual_stack(true)
2183 .accelerate(false)
2184 .build()
2185 .expect("invalid params");
2186 let resolver = crate::config::endpoint::DefaultResolver::new();
2187 let endpoint = resolver.resolve_endpoint(¶ms);
2188 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
2189 assert_eq!(
2190 endpoint,
2191 ::aws_smithy_types::endpoint::Endpoint::builder()
2192 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
2193 .property(
2194 "authSchemes",
2195 vec![::aws_smithy_types::Document::from({
2196 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2197 out.insert("name".to_string(), "sigv4".to_string().into());
2198 out.insert("signingName".to_string(), "s3".to_string().into());
2199 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2200 out.insert("disableDoubleEncoding".to_string(), true.into());
2201 out
2202 })]
2203 )
2204 .build()
2205 );
2206 }
2207
2208 #[test]
2210 fn test_76() {
2211 let params = crate::config::endpoint::Params::builder()
2212 .region("us-east-1".to_string())
2213 .bucket("bucket-name".to_string())
2214 .endpoint("https://example.com".to_string())
2215 .use_global_endpoint(true)
2216 .force_path_style(true)
2217 .use_fips(false)
2218 .use_dual_stack(false)
2219 .accelerate(false)
2220 .build()
2221 .expect("invalid params");
2222 let resolver = crate::config::endpoint::DefaultResolver::new();
2223 let endpoint = resolver.resolve_endpoint(¶ms);
2224 let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
2225 assert_eq!(
2226 endpoint,
2227 ::aws_smithy_types::endpoint::Endpoint::builder()
2228 .url("https://example.com/bucket-name")
2229 .property(
2230 "authSchemes",
2231 vec![::aws_smithy_types::Document::from({
2232 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2233 out.insert("name".to_string(), "sigv4".to_string().into());
2234 out.insert("signingName".to_string(), "s3".to_string().into());
2235 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2236 out.insert("disableDoubleEncoding".to_string(), true.into());
2237 out
2238 })]
2239 )
2240 .build()
2241 );
2242 }
2243
2244 #[test]
2246 fn test_77() {
2247 let params = crate::config::endpoint::Params::builder()
2248 .region("aws-global".to_string())
2249 .use_arn_region(true)
2250 .use_fips(false)
2251 .use_dual_stack(false)
2252 .accelerate(false)
2253 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
2254 .build()
2255 .expect("invalid params");
2256 let resolver = crate::config::endpoint::DefaultResolver::new();
2257 let endpoint = resolver.resolve_endpoint(¶ms);
2258 let endpoint =
2259 endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
2260 assert_eq!(
2261 endpoint,
2262 ::aws_smithy_types::endpoint::Endpoint::builder()
2263 .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
2264 .property(
2265 "authSchemes",
2266 vec![
2267 ::aws_smithy_types::Document::from({
2268 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2269 out.insert("name".to_string(), "sigv4a".to_string().into());
2270 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
2271 out.insert(
2272 "signingRegionSet".to_string(),
2273 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
2274 );
2275 out.insert("disableDoubleEncoding".to_string(), true.into());
2276 out
2277 }),
2278 ::aws_smithy_types::Document::from({
2279 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2280 out.insert("name".to_string(), "sigv4".to_string().into());
2281 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
2282 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2283 out.insert("disableDoubleEncoding".to_string(), true.into());
2284 out
2285 })
2286 ]
2287 )
2288 .build()
2289 );
2290 }
2291
2292 #[test]
2294 fn test_78() {
2295 let params = crate::config::endpoint::Params::builder()
2296 .bucket("arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
2297 .region("us-west-1".to_string())
2298 .build()
2299 .expect("invalid params");
2300 let resolver = crate::config::endpoint::DefaultResolver::new();
2301 let endpoint = resolver.resolve_endpoint(¶ms);
2302 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]");
2303 assert_eq!(
2304 format!("{}", error),
2305 "Client was configured for partition `aws` but bucket referred to partition `aws-cn`"
2306 )
2307 }
2308
2309 #[test]
2311 fn test_79() {
2312 let params = crate::config::endpoint::Params::builder()
2313 .endpoint("http://beta.example.com:1234".to_string())
2314 .region("us-west-2".to_string())
2315 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
2316 .build()
2317 .expect("invalid params");
2318 let resolver = crate::config::endpoint::DefaultResolver::new();
2319 let endpoint = resolver.resolve_endpoint(¶ms);
2320 let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234");
2321 assert_eq!(
2322 endpoint,
2323 ::aws_smithy_types::endpoint::Endpoint::builder()
2324 .url("http://myendpoint-123456789012.beta.example.com:1234")
2325 .property(
2326 "authSchemes",
2327 vec![::aws_smithy_types::Document::from({
2328 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2329 out.insert("name".to_string(), "sigv4".to_string().into());
2330 out.insert("signingName".to_string(), "s3".to_string().into());
2331 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2332 out.insert("disableDoubleEncoding".to_string(), true.into());
2333 out
2334 })]
2335 )
2336 .build()
2337 );
2338 }
2339
2340 #[test]
2342 fn test_80() {
2343 let params = crate::config::endpoint::Params::builder()
2344 .region("us-west-2".to_string())
2345 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
2346 .endpoint("http://beta.example.com:1234/path".to_string())
2347 .use_fips(false)
2348 .use_dual_stack(false)
2349 .accelerate(false)
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/path");
2355 assert_eq!(
2356 endpoint,
2357 ::aws_smithy_types::endpoint::Endpoint::builder()
2358 .url("http://myendpoint-123456789012.beta.example.com:1234/path")
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 .endpoint("http://beta.example.com:1234/path".to_string())
2380 .use_fips(true)
2381 .use_dual_stack(false)
2382 .build()
2383 .expect("invalid params");
2384 let resolver = crate::config::endpoint::DefaultResolver::new();
2385 let endpoint = resolver.resolve_endpoint(¶ms);
2386 let error =
2387 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [non-bucket endpoint override with FIPS = error]");
2388 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2389 }
2390
2391 #[test]
2393 fn test_82() {
2394 let params = crate::config::endpoint::Params::builder()
2395 .region("us-west-2".to_string())
2396 .endpoint("http://beta.example.com:1234/path".to_string())
2397 .use_fips(true)
2398 .use_dual_stack(true)
2399 .build()
2400 .expect("invalid params");
2401 let resolver = crate::config::endpoint::DefaultResolver::new();
2402 let endpoint = resolver.resolve_endpoint(¶ms);
2403 let error =
2404 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [FIPS + dualstack + custom endpoint]");
2405 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
2406 }
2407
2408 #[test]
2410 fn test_83() {
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(false)
2415 .use_dual_stack(true)
2416 .build()
2417 .expect("invalid params");
2418 let resolver = crate::config::endpoint::DefaultResolver::new();
2419 let endpoint = resolver.resolve_endpoint(¶ms);
2420 let error = endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [dualstack + custom endpoint]");
2421 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
2422 }
2423
2424 #[test]
2426 fn test_84() {
2427 let params = crate::config::endpoint::Params::builder()
2428 .region("us-west-2".to_string())
2429 .endpoint("http://beta.example.com:1234/path".to_string())
2430 .use_fips(false)
2431 .use_dual_stack(false)
2432 .build()
2433 .expect("invalid params");
2434 let resolver = crate::config::endpoint::DefaultResolver::new();
2435 let endpoint = resolver.resolve_endpoint(¶ms);
2436 let endpoint = endpoint.expect("Expected valid endpoint: http://beta.example.com:1234/path");
2437 assert_eq!(
2438 endpoint,
2439 ::aws_smithy_types::endpoint::Endpoint::builder()
2440 .url("http://beta.example.com:1234/path")
2441 .property(
2442 "authSchemes",
2443 vec![::aws_smithy_types::Document::from({
2444 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2445 out.insert("name".to_string(), "sigv4".to_string().into());
2446 out.insert("signingName".to_string(), "s3".to_string().into());
2447 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2448 out.insert("disableDoubleEncoding".to_string(), true.into());
2449 out
2450 })]
2451 )
2452 .build()
2453 );
2454 }
2455
2456 #[test]
2458 fn test_85() {
2459 let params = crate::config::endpoint::Params::builder()
2460 .region("us-west-2".to_string())
2461 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint".to_string())
2462 .disable_access_points(true)
2463 .build()
2464 .expect("invalid params");
2465 let resolver = crate::config::endpoint::DefaultResolver::new();
2466 let endpoint = resolver.resolve_endpoint(¶ms);
2467 let error =
2468 endpoint.expect_err("expected error: Access points are not supported for this operation [s3 object lambda with access points disabled]");
2469 assert_eq!(format!("{}", error), "Access points are not supported for this operation")
2470 }
2471
2472 #[test]
2474 fn test_86() {
2475 let params = crate::config::endpoint::Params::builder()
2476 .region("us-west-2".to_string())
2477 .use_fips(true)
2478 .use_dual_stack(false)
2479 .build()
2480 .expect("invalid params");
2481 let resolver = crate::config::endpoint::DefaultResolver::new();
2482 let endpoint = resolver.resolve_endpoint(¶ms);
2483 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-west-2.amazonaws.com");
2484 assert_eq!(
2485 endpoint,
2486 ::aws_smithy_types::endpoint::Endpoint::builder()
2487 .url("https://s3-fips.us-west-2.amazonaws.com")
2488 .property(
2489 "authSchemes",
2490 vec![::aws_smithy_types::Document::from({
2491 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2492 out.insert("name".to_string(), "sigv4".to_string().into());
2493 out.insert("signingName".to_string(), "s3".to_string().into());
2494 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2495 out.insert("disableDoubleEncoding".to_string(), true.into());
2496 out
2497 })]
2498 )
2499 .build()
2500 );
2501 }
2502
2503 #[test]
2505 fn test_87() {
2506 let params = crate::config::endpoint::Params::builder()
2507 .region("us-west-2".to_string())
2508 .use_fips(false)
2509 .use_dual_stack(false)
2510 .build()
2511 .expect("invalid params");
2512 let resolver = crate::config::endpoint::DefaultResolver::new();
2513 let endpoint = resolver.resolve_endpoint(¶ms);
2514 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
2515 assert_eq!(
2516 endpoint,
2517 ::aws_smithy_types::endpoint::Endpoint::builder()
2518 .url("https://s3.us-west-2.amazonaws.com")
2519 .property(
2520 "authSchemes",
2521 vec![::aws_smithy_types::Document::from({
2522 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2523 out.insert("name".to_string(), "sigv4".to_string().into());
2524 out.insert("signingName".to_string(), "s3".to_string().into());
2525 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2526 out.insert("disableDoubleEncoding".to_string(), true.into());
2527 out
2528 })]
2529 )
2530 .build()
2531 );
2532 }
2533
2534 #[test]
2536 fn test_88() {
2537 let params = crate::config::endpoint::Params::builder()
2538 .region("us-west-2".to_string())
2539 .use_fips(true)
2540 .use_dual_stack(true)
2541 .build()
2542 .expect("invalid params");
2543 let resolver = crate::config::endpoint::DefaultResolver::new();
2544 let endpoint = resolver.resolve_endpoint(¶ms);
2545 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-west-2.amazonaws.com");
2546 assert_eq!(
2547 endpoint,
2548 ::aws_smithy_types::endpoint::Endpoint::builder()
2549 .url("https://s3-fips.dualstack.us-west-2.amazonaws.com")
2550 .property(
2551 "authSchemes",
2552 vec![::aws_smithy_types::Document::from({
2553 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2554 out.insert("name".to_string(), "sigv4".to_string().into());
2555 out.insert("signingName".to_string(), "s3".to_string().into());
2556 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2557 out.insert("disableDoubleEncoding".to_string(), true.into());
2558 out
2559 })]
2560 )
2561 .build()
2562 );
2563 }
2564
2565 #[test]
2567 fn test_89() {
2568 let params = crate::config::endpoint::Params::builder()
2569 .region("us-west-2".to_string())
2570 .use_fips(false)
2571 .use_dual_stack(true)
2572 .build()
2573 .expect("invalid params");
2574 let resolver = crate::config::endpoint::DefaultResolver::new();
2575 let endpoint = resolver.resolve_endpoint(¶ms);
2576 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com");
2577 assert_eq!(
2578 endpoint,
2579 ::aws_smithy_types::endpoint::Endpoint::builder()
2580 .url("https://s3.dualstack.us-west-2.amazonaws.com")
2581 .property(
2582 "authSchemes",
2583 vec![::aws_smithy_types::Document::from({
2584 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2585 out.insert("name".to_string(), "sigv4".to_string().into());
2586 out.insert("signingName".to_string(), "s3".to_string().into());
2587 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
2588 out.insert("disableDoubleEncoding".to_string(), true.into());
2589 out
2590 })]
2591 )
2592 .build()
2593 );
2594 }
2595
2596 #[test]
2598 fn test_90() {
2599 let params = crate::config::endpoint::Params::builder()
2600 .region("us-east-1".to_string())
2601 .bucket("bucket".to_string())
2602 .use_fips(false)
2603 .use_dual_stack(false)
2604 .endpoint("http://127.0.0.1".to_string())
2605 .use_global_endpoint(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: http://127.0.0.1/bucket");
2611 assert_eq!(
2612 endpoint,
2613 ::aws_smithy_types::endpoint::Endpoint::builder()
2614 .url("http://127.0.0.1/bucket")
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("disableDoubleEncoding".to_string(), true.into());
2622 out.insert("signingRegion".to_string(), "us-east-1".to_string().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 .use_global_endpoint(true)
2639 .build()
2640 .expect("invalid params");
2641 let resolver = crate::config::endpoint::DefaultResolver::new();
2642 let endpoint = resolver.resolve_endpoint(¶ms);
2643 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
2644 assert_eq!(
2645 endpoint,
2646 ::aws_smithy_types::endpoint::Endpoint::builder()
2647 .url("https://s3.amazonaws.com/bucket%21")
2648 .property(
2649 "authSchemes",
2650 vec![::aws_smithy_types::Document::from({
2651 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2652 out.insert("name".to_string(), "sigv4".to_string().into());
2653 out.insert("signingName".to_string(), "s3".to_string().into());
2654 out.insert("disableDoubleEncoding".to_string(), true.into());
2655 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2656 out
2657 })]
2658 )
2659 .build()
2660 );
2661 }
2662
2663 #[test]
2665 fn test_92() {
2666 let params = crate::config::endpoint::Params::builder()
2667 .region("us-east-1".to_string())
2668 .bucket("bucket!".to_string())
2669 .use_fips(false)
2670 .use_dual_stack(false)
2671 .use_global_endpoint(true)
2672 .endpoint("http://foo.com".to_string())
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: http://foo.com/bucket%21");
2678 assert_eq!(
2679 endpoint,
2680 ::aws_smithy_types::endpoint::Endpoint::builder()
2681 .url("http://foo.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(true)
2704 .use_dual_stack(true)
2705 .build()
2706 .expect("invalid params");
2707 let resolver = crate::config::endpoint::DefaultResolver::new();
2708 let endpoint = resolver.resolve_endpoint(¶ms);
2709 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
2710 assert_eq!(
2711 endpoint,
2712 ::aws_smithy_types::endpoint::Endpoint::builder()
2713 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
2714 .property(
2715 "authSchemes",
2716 vec![::aws_smithy_types::Document::from({
2717 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2718 out.insert("name".to_string(), "sigv4".to_string().into());
2719 out.insert("signingName".to_string(), "s3".to_string().into());
2720 out.insert("disableDoubleEncoding".to_string(), true.into());
2721 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2722 out
2723 })]
2724 )
2725 .build()
2726 );
2727 }
2728
2729 #[test]
2731 fn test_94() {
2732 let params = crate::config::endpoint::Params::builder()
2733 .region("us-east-1".to_string())
2734 .bucket("bucket!".to_string())
2735 .force_path_style(true)
2736 .use_fips(true)
2737 .use_dual_stack(true)
2738 .build()
2739 .expect("invalid params");
2740 let resolver = crate::config::endpoint::DefaultResolver::new();
2741 let endpoint = resolver.resolve_endpoint(¶ms);
2742 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
2743 assert_eq!(
2744 endpoint,
2745 ::aws_smithy_types::endpoint::Endpoint::builder()
2746 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
2747 .property(
2748 "authSchemes",
2749 vec![::aws_smithy_types::Document::from({
2750 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2751 out.insert("name".to_string(), "sigv4".to_string().into());
2752 out.insert("signingName".to_string(), "s3".to_string().into());
2753 out.insert("disableDoubleEncoding".to_string(), true.into());
2754 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2755 out
2756 })]
2757 )
2758 .build()
2759 );
2760 }
2761
2762 #[test]
2764 fn test_95() {
2765 let params = crate::config::endpoint::Params::builder()
2766 .region("us-east-1".to_string())
2767 .bucket("bucket!".to_string())
2768 .force_path_style(true)
2769 .use_fips(true)
2770 .use_dual_stack(false)
2771 .endpoint("http://foo.com".to_string())
2772 .build()
2773 .expect("invalid params");
2774 let resolver = crate::config::endpoint::DefaultResolver::new();
2775 let endpoint = resolver.resolve_endpoint(¶ms);
2776 let error =
2777 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [endpoint override + FIPS + dualstack (BUG)]");
2778 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2779 }
2780
2781 #[test]
2783 fn test_96() {
2784 let params = crate::config::endpoint::Params::builder()
2785 .region("us-east-1".to_string())
2786 .bucket("bucket!".to_string())
2787 .use_fips(true)
2788 .use_dual_stack(false)
2789 .endpoint("http://foo.com".to_string())
2790 .build()
2791 .expect("invalid params");
2792 let resolver = crate::config::endpoint::DefaultResolver::new();
2793 let endpoint = resolver.resolve_endpoint(¶ms);
2794 let error =
2795 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [endpoint override + non-dns bucket + FIPS (BUG)]");
2796 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2797 }
2798
2799 #[test]
2801 fn test_97() {
2802 let params = crate::config::endpoint::Params::builder()
2803 .region("us-east-1".to_string())
2804 .bucket("bucket!".to_string())
2805 .force_path_style(true)
2806 .use_fips(true)
2807 .use_dual_stack(false)
2808 .use_global_endpoint(true)
2809 .build()
2810 .expect("invalid params");
2811 let resolver = crate::config::endpoint::DefaultResolver::new();
2812 let endpoint = resolver.resolve_endpoint(¶ms);
2813 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
2814 assert_eq!(
2815 endpoint,
2816 ::aws_smithy_types::endpoint::Endpoint::builder()
2817 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
2818 .property(
2819 "authSchemes",
2820 vec![::aws_smithy_types::Document::from({
2821 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2822 out.insert("name".to_string(), "sigv4".to_string().into());
2823 out.insert("signingName".to_string(), "s3".to_string().into());
2824 out.insert("disableDoubleEncoding".to_string(), true.into());
2825 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2826 out
2827 })]
2828 )
2829 .build()
2830 );
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(true)
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.dualstack.us-east-1.amazonaws.com/bucket");
2848 assert_eq!(
2849 endpoint,
2850 ::aws_smithy_types::endpoint::Endpoint::builder()
2851 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket")
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 .use_fips(true)
2874 .use_dual_stack(true)
2875 .use_global_endpoint(true)
2876 .build()
2877 .expect("invalid params");
2878 let resolver = crate::config::endpoint::DefaultResolver::new();
2879 let endpoint = resolver.resolve_endpoint(¶ms);
2880 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com");
2881 assert_eq!(
2882 endpoint,
2883 ::aws_smithy_types::endpoint::Endpoint::builder()
2884 .url("https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com")
2885 .property(
2886 "authSchemes",
2887 vec![::aws_smithy_types::Document::from({
2888 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2889 out.insert("name".to_string(), "sigv4".to_string().into());
2890 out.insert("signingName".to_string(), "s3".to_string().into());
2891 out.insert("disableDoubleEncoding".to_string(), true.into());
2892 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2893 out
2894 })]
2895 )
2896 .build()
2897 );
2898 }
2899
2900 #[test]
2902 fn test_100() {
2903 let params = crate::config::endpoint::Params::builder()
2904 .region("us-east-1".to_string())
2905 .bucket("bucket!".to_string())
2906 .use_fips(true)
2907 .use_dual_stack(false)
2908 .use_global_endpoint(true)
2909 .endpoint("https://foo.com".to_string())
2910 .build()
2911 .expect("invalid params");
2912 let resolver = crate::config::endpoint::DefaultResolver::new();
2913 let endpoint = resolver.resolve_endpoint(¶ms);
2914 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [URI encoded bucket + use global endpoint]");
2915 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
2916 }
2917
2918 #[test]
2920 fn test_101() {
2921 let params = crate::config::endpoint::Params::builder()
2922 .region("us-east-1".to_string())
2923 .bucket("bucket!".to_string())
2924 .use_fips(true)
2925 .use_dual_stack(false)
2926 .accelerate(false)
2927 .use_global_endpoint(true)
2928 .build()
2929 .expect("invalid params");
2930 let resolver = crate::config::endpoint::DefaultResolver::new();
2931 let endpoint = resolver.resolve_endpoint(¶ms);
2932 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
2933 assert_eq!(
2934 endpoint,
2935 ::aws_smithy_types::endpoint::Endpoint::builder()
2936 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
2937 .property(
2938 "authSchemes",
2939 vec![::aws_smithy_types::Document::from({
2940 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
2941 out.insert("name".to_string(), "sigv4".to_string().into());
2942 out.insert("signingName".to_string(), "s3".to_string().into());
2943 out.insert("disableDoubleEncoding".to_string(), true.into());
2944 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
2945 out
2946 })]
2947 )
2948 .build()
2949 );
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(false)
2959 .use_dual_stack(true)
2960 .accelerate(true)
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://bucket.s3-accelerate.dualstack.amazonaws.com");
2967 assert_eq!(
2968 endpoint,
2969 ::aws_smithy_types::endpoint::Endpoint::builder()
2970 .url("https://bucket.s3-accelerate.dualstack.amazonaws.com")
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 .accelerate(false)
2993 .use_dual_stack(true)
2994 .use_fips(false)
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://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
3001 assert_eq!(
3002 endpoint,
3003 ::aws_smithy_types::endpoint::Endpoint::builder()
3004 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
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 .force_path_style(true)
3027 .accelerate(false)
3028 .use_dual_stack(false)
3029 .use_fips(true)
3030 .use_global_endpoint(true)
3031 .build()
3032 .expect("invalid params");
3033 let resolver = crate::config::endpoint::DefaultResolver::new();
3034 let endpoint = resolver.resolve_endpoint(¶ms);
3035 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
3036 assert_eq!(
3037 endpoint,
3038 ::aws_smithy_types::endpoint::Endpoint::builder()
3039 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
3040 .property(
3041 "authSchemes",
3042 vec![::aws_smithy_types::Document::from({
3043 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3044 out.insert("name".to_string(), "sigv4".to_string().into());
3045 out.insert("signingName".to_string(), "s3".to_string().into());
3046 out.insert("disableDoubleEncoding".to_string(), true.into());
3047 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3048 out
3049 })]
3050 )
3051 .build()
3052 );
3053 }
3054
3055 #[test]
3057 fn test_105() {
3058 let params = crate::config::endpoint::Params::builder()
3059 .region("us-east-1".to_string())
3060 .bucket("bucket!".to_string())
3061 .force_path_style(true)
3062 .accelerate(false)
3063 .use_dual_stack(false)
3064 .use_fips(true)
3065 .endpoint("http://foo.com".to_string())
3066 .use_global_endpoint(true)
3067 .build()
3068 .expect("invalid params");
3069 let resolver = crate::config::endpoint::DefaultResolver::new();
3070 let endpoint = resolver.resolve_endpoint(¶ms);
3071 let error = endpoint.expect_err(
3072 "expected error: A custom endpoint cannot be combined with FIPS [endpoint override + non-uri safe endpoint + force path style]",
3073 );
3074 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3075 }
3076
3077 #[test]
3079 fn test_106() {
3080 let params = crate::config::endpoint::Params::builder()
3081 .region("us-east-1".to_string())
3082 .bucket("bucket!".to_string())
3083 .accelerate(false)
3084 .use_dual_stack(true)
3085 .use_fips(true)
3086 .use_global_endpoint(true)
3087 .build()
3088 .expect("invalid params");
3089 let resolver = crate::config::endpoint::DefaultResolver::new();
3090 let endpoint = resolver.resolve_endpoint(¶ms);
3091 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
3092 assert_eq!(
3093 endpoint,
3094 ::aws_smithy_types::endpoint::Endpoint::builder()
3095 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
3096 .property(
3097 "authSchemes",
3098 vec![::aws_smithy_types::Document::from({
3099 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3100 out.insert("name".to_string(), "sigv4".to_string().into());
3101 out.insert("signingName".to_string(), "s3".to_string().into());
3102 out.insert("disableDoubleEncoding".to_string(), true.into());
3103 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3104 out
3105 })]
3106 )
3107 .build()
3108 );
3109 }
3110
3111 #[test]
3113 fn test_107() {
3114 let params = crate::config::endpoint::Params::builder()
3115 .region("us-east-1".to_string())
3116 .use_dual_stack(true)
3117 .use_fips(true)
3118 .use_global_endpoint(true)
3119 .endpoint("http://foo.com".to_string())
3120 .build()
3121 .expect("invalid params");
3122 let resolver = crate::config::endpoint::DefaultResolver::new();
3123 let endpoint = resolver.resolve_endpoint(¶ms);
3124 let error = endpoint
3125 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [endpoint override + FIPS + dualstack]");
3126 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3127 }
3128
3129 #[test]
3131 fn test_108() {
3132 let params = crate::config::endpoint::Params::builder()
3133 .region("us-east-1".to_string())
3134 .use_fips(false)
3135 .use_dual_stack(true)
3136 .use_global_endpoint(true)
3137 .endpoint("http://foo.com".to_string())
3138 .build()
3139 .expect("invalid params");
3140 let resolver = crate::config::endpoint::DefaultResolver::new();
3141 let endpoint = resolver.resolve_endpoint(¶ms);
3142 let error = endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [non-bucket endpoint override + dualstack + global endpoint]");
3143 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3144 }
3145
3146 #[test]
3148 fn test_109() {
3149 let params = crate::config::endpoint::Params::builder()
3150 .region("us-east-1".to_string())
3151 .use_fips(true)
3152 .use_dual_stack(false)
3153 .use_global_endpoint(true)
3154 .endpoint("http://foo.com".to_string())
3155 .build()
3156 .expect("invalid params");
3157 let resolver = crate::config::endpoint::DefaultResolver::new();
3158 let endpoint = resolver.resolve_endpoint(¶ms);
3159 let error =
3160 endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [Endpoint override + UseGlobalEndpoint + us-east-1]");
3161 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3162 }
3163
3164 #[test]
3166 fn test_110() {
3167 let params = crate::config::endpoint::Params::builder()
3168 .region("cn-north-1".to_string())
3169 .use_fips(true)
3170 .use_dual_stack(false)
3171 .use_global_endpoint(true)
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: Partition does not support FIPS [non-FIPS partition with FIPS set + custom endpoint]");
3177 assert_eq!(format!("{}", error), "Partition does not support FIPS")
3178 }
3179
3180 #[test]
3182 fn test_111() {
3183 let params = crate::config::endpoint::Params::builder()
3184 .region("aws-global".to_string())
3185 .bucket("bucket!".to_string())
3186 .use_fips(true)
3187 .accelerate(false)
3188 .use_dual_stack(true)
3189 .build()
3190 .expect("invalid params");
3191 let resolver = crate::config::endpoint::DefaultResolver::new();
3192 let endpoint = resolver.resolve_endpoint(¶ms);
3193 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
3194 assert_eq!(
3195 endpoint,
3196 ::aws_smithy_types::endpoint::Endpoint::builder()
3197 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
3198 .property(
3199 "authSchemes",
3200 vec![::aws_smithy_types::Document::from({
3201 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3202 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3203 out.insert("name".to_string(), "sigv4".to_string().into());
3204 out.insert("signingName".to_string(), "s3".to_string().into());
3205 out.insert("disableDoubleEncoding".to_string(), true.into());
3206 out
3207 })]
3208 )
3209 .build()
3210 );
3211 }
3212
3213 #[test]
3215 fn test_112() {
3216 let params = crate::config::endpoint::Params::builder()
3217 .region("aws-global".to_string())
3218 .bucket("bucket".to_string())
3219 .use_dual_stack(false)
3220 .use_fips(false)
3221 .accelerate(false)
3222 .endpoint("https://foo.com".to_string())
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://bucket.foo.com");
3228 assert_eq!(
3229 endpoint,
3230 ::aws_smithy_types::endpoint::Endpoint::builder()
3231 .url("https://bucket.foo.com")
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(true)
3254 .use_fips(false)
3255 .accelerate(false)
3256 .build()
3257 .expect("invalid params");
3258 let resolver = crate::config::endpoint::DefaultResolver::new();
3259 let endpoint = resolver.resolve_endpoint(¶ms);
3260 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
3261 assert_eq!(
3262 endpoint,
3263 ::aws_smithy_types::endpoint::Endpoint::builder()
3264 .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
3265 .property(
3266 "authSchemes",
3267 vec![::aws_smithy_types::Document::from({
3268 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3269 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3270 out.insert("name".to_string(), "sigv4".to_string().into());
3271 out.insert("signingName".to_string(), "s3".to_string().into());
3272 out.insert("disableDoubleEncoding".to_string(), true.into());
3273 out
3274 })]
3275 )
3276 .build()
3277 );
3278 }
3279
3280 #[test]
3282 fn test_114() {
3283 let params = crate::config::endpoint::Params::builder()
3284 .region("aws-global".to_string())
3285 .bucket("bucket!".to_string())
3286 .build()
3287 .expect("invalid params");
3288 let resolver = crate::config::endpoint::DefaultResolver::new();
3289 let endpoint = resolver.resolve_endpoint(¶ms);
3290 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
3291 assert_eq!(
3292 endpoint,
3293 ::aws_smithy_types::endpoint::Endpoint::builder()
3294 .url("https://s3.amazonaws.com/bucket%21")
3295 .property(
3296 "authSchemes",
3297 vec![::aws_smithy_types::Document::from({
3298 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3299 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3300 out.insert("name".to_string(), "sigv4".to_string().into());
3301 out.insert("signingName".to_string(), "s3".to_string().into());
3302 out.insert("disableDoubleEncoding".to_string(), true.into());
3303 out
3304 })]
3305 )
3306 .build()
3307 );
3308 }
3309
3310 #[test]
3312 fn test_115() {
3313 let params = crate::config::endpoint::Params::builder()
3314 .region("aws-global".to_string())
3315 .bucket("bucket!".to_string())
3316 .use_dual_stack(false)
3317 .use_fips(true)
3318 .accelerate(false)
3319 .endpoint("http://foo.com".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 error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + fips + custom endpoint]");
3325 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3326 }
3327
3328 #[test]
3330 fn test_116() {
3331 let params = crate::config::endpoint::Params::builder()
3332 .region("aws-global".to_string())
3333 .bucket("bucket!".to_string())
3334 .use_dual_stack(false)
3335 .use_fips(false)
3336 .accelerate(false)
3337 .endpoint("http://foo.com".to_string())
3338 .build()
3339 .expect("invalid params");
3340 let resolver = crate::config::endpoint::DefaultResolver::new();
3341 let endpoint = resolver.resolve_endpoint(¶ms);
3342 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
3343 assert_eq!(
3344 endpoint,
3345 ::aws_smithy_types::endpoint::Endpoint::builder()
3346 .url("http://foo.com/bucket%21")
3347 .property(
3348 "authSchemes",
3349 vec![::aws_smithy_types::Document::from({
3350 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3351 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3352 out.insert("name".to_string(), "sigv4".to_string().into());
3353 out.insert("signingName".to_string(), "s3".to_string().into());
3354 out.insert("disableDoubleEncoding".to_string(), true.into());
3355 out
3356 })]
3357 )
3358 .build()
3359 );
3360 }
3361
3362 #[test]
3364 fn test_117() {
3365 let params = crate::config::endpoint::Params::builder()
3366 .region("aws-global".to_string())
3367 .use_dual_stack(true)
3368 .use_fips(false)
3369 .accelerate(false)
3370 .endpoint("http://foo.com".to_string())
3371 .build()
3372 .expect("invalid params");
3373 let resolver = crate::config::endpoint::DefaultResolver::new();
3374 let endpoint = resolver.resolve_endpoint(¶ms);
3375 let error = endpoint
3376 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [aws-global + dualstack + custom endpoint]");
3377 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3378 }
3379
3380 #[test]
3382 fn test_118() {
3383 let params = crate::config::endpoint::Params::builder()
3384 .region("aws-global".to_string())
3385 .bucket("bucket".to_string())
3386 .use_dual_stack(true)
3387 .use_fips(false)
3388 .accelerate(true)
3389 .build()
3390 .expect("invalid params");
3391 let resolver = crate::config::endpoint::DefaultResolver::new();
3392 let endpoint = resolver.resolve_endpoint(¶ms);
3393 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com");
3394 assert_eq!(
3395 endpoint,
3396 ::aws_smithy_types::endpoint::Endpoint::builder()
3397 .url("https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com")
3398 .property(
3399 "authSchemes",
3400 vec![::aws_smithy_types::Document::from({
3401 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3402 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3403 out.insert("name".to_string(), "sigv4".to_string().into());
3404 out.insert("signingName".to_string(), "s3".to_string().into());
3405 out.insert("disableDoubleEncoding".to_string(), true.into());
3406 out
3407 })]
3408 )
3409 .build()
3410 );
3411 }
3412
3413 #[test]
3415 fn test_119() {
3416 let params = crate::config::endpoint::Params::builder()
3417 .region("aws-global".to_string())
3418 .bucket("bucket!".to_string())
3419 .force_path_style(true)
3420 .use_dual_stack(true)
3421 .use_fips(true)
3422 .accelerate(false)
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://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
3428 assert_eq!(
3429 endpoint,
3430 ::aws_smithy_types::endpoint::Endpoint::builder()
3431 .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
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 .use_fips(true)
3453 .endpoint("http://foo.com".to_string())
3454 .build()
3455 .expect("invalid params");
3456 let resolver = crate::config::endpoint::DefaultResolver::new();
3457 let endpoint = resolver.resolve_endpoint(¶ms);
3458 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + FIPS + endpoint override.]");
3459 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3460 }
3461
3462 #[test]
3464 fn test_121() {
3465 let params = crate::config::endpoint::Params::builder()
3466 .region("aws-global".to_string())
3467 .bucket("bucket!".to_string())
3468 .force_path_style(true)
3469 .use_fips(true)
3470 .endpoint("http://foo.com".to_string())
3471 .build()
3472 .expect("invalid params");
3473 let resolver = crate::config::endpoint::DefaultResolver::new();
3474 let endpoint = resolver.resolve_endpoint(¶ms);
3475 let error = endpoint
3476 .expect_err("expected error: A custom endpoint cannot be combined with FIPS [force path style, FIPS, aws-global & endpoint override]");
3477 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
3478 }
3479
3480 #[test]
3482 fn test_122() {
3483 let params = crate::config::endpoint::Params::builder()
3484 .region("aws-global".to_string())
3485 .bucket("bucket".to_string())
3486 .endpoint("http://192.168.1.1".to_string())
3487 .build()
3488 .expect("invalid params");
3489 let resolver = crate::config::endpoint::DefaultResolver::new();
3490 let endpoint = resolver.resolve_endpoint(¶ms);
3491 let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.1.1/bucket");
3492 assert_eq!(
3493 endpoint,
3494 ::aws_smithy_types::endpoint::Endpoint::builder()
3495 .url("http://192.168.1.1/bucket")
3496 .property(
3497 "authSchemes",
3498 vec![::aws_smithy_types::Document::from({
3499 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3500 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3501 out.insert("name".to_string(), "sigv4".to_string().into());
3502 out.insert("signingName".to_string(), "s3".to_string().into());
3503 out.insert("disableDoubleEncoding".to_string(), true.into());
3504 out
3505 })]
3506 )
3507 .build()
3508 );
3509 }
3510
3511 #[test]
3513 fn test_123() {
3514 let params = crate::config::endpoint::Params::builder()
3515 .region("aws-global".to_string())
3516 .use_fips(true)
3517 .use_dual_stack(true)
3518 .endpoint("http://foo.com".to_string())
3519 .build()
3520 .expect("invalid params");
3521 let resolver = crate::config::endpoint::DefaultResolver::new();
3522 let endpoint = resolver.resolve_endpoint(¶ms);
3523 let error = endpoint
3524 .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [endpoint override with aws-global region]");
3525 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
3526 }
3527
3528 #[test]
3530 fn test_124() {
3531 let params = crate::config::endpoint::Params::builder()
3532 .region("aws-global".to_string())
3533 .bucket("bucket!".to_string())
3534 .use_fips(true)
3535 .build()
3536 .expect("invalid params");
3537 let resolver = crate::config::endpoint::DefaultResolver::new();
3538 let endpoint = resolver.resolve_endpoint(¶ms);
3539 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
3540 assert_eq!(
3541 endpoint,
3542 ::aws_smithy_types::endpoint::Endpoint::builder()
3543 .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
3544 .property(
3545 "authSchemes",
3546 vec![::aws_smithy_types::Document::from({
3547 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3548 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
3549 out.insert("name".to_string(), "sigv4".to_string().into());
3550 out.insert("signingName".to_string(), "s3".to_string().into());
3551 out.insert("disableDoubleEncoding".to_string(), true.into());
3552 out
3553 })]
3554 )
3555 .build()
3556 );
3557 }
3558
3559 #[test]
3561 fn test_125() {
3562 let params = crate::config::endpoint::Params::builder()
3563 .region("us-east-2".to_string())
3564 .bucket("arn:aws:not-s3:us-west-2:123456789012::myendpoint".to_string())
3565 .build()
3566 .expect("invalid params");
3567 let resolver = crate::config::endpoint::DefaultResolver::new();
3568 let endpoint = resolver.resolve_endpoint(¶ms);
3569 let error = endpoint.expect_err("expected error: Invalid ARN: No ARN type specified [empty arn type]");
3570 assert_eq!(format!("{}", error), "Invalid ARN: No ARN type specified")
3571 }
3572
3573 #[test]
3575 fn test_126() {
3576 let params = crate::config::endpoint::Params::builder()
3577 .region("us-east-2".to_string())
3578 .bucket("bucket!".to_string())
3579 .accelerate(true)
3580 .build()
3581 .expect("invalid params");
3582 let resolver = crate::config::endpoint::DefaultResolver::new();
3583 let endpoint = resolver.resolve_endpoint(¶ms);
3584 let error =
3585 endpoint.expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style can't be used with accelerate]");
3586 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
3587 }
3588
3589 #[test]
3591 fn test_127() {
3592 let params = crate::config::endpoint::Params::builder()
3593 .region("us-east-2!".to_string())
3594 .bucket("bucket.subdomain".to_string())
3595 .endpoint("http://foo.com".to_string())
3596 .build()
3597 .expect("invalid params");
3598 let resolver = crate::config::endpoint::DefaultResolver::new();
3599 let endpoint = resolver.resolve_endpoint(¶ms);
3600 let error = endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [invalid region]");
3601 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
3602 }
3603
3604 #[test]
3606 fn test_128() {
3607 let params = crate::config::endpoint::Params::builder()
3608 .region("us-east-2!".to_string())
3609 .bucket("bucket".to_string())
3610 .endpoint("http://foo.com".to_string())
3611 .build()
3612 .expect("invalid params");
3613 let resolver = crate::config::endpoint::DefaultResolver::new();
3614 let endpoint = resolver.resolve_endpoint(¶ms);
3615 let error = endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [invalid region]");
3616 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
3617 }
3618
3619 #[test]
3621 fn test_129() {
3622 let params = crate::config::endpoint::Params::builder()
3623 .region("us-east-2".to_string())
3624 .bucket("arn:aws:s3::123456789012:accesspoint:my_endpoint".to_string())
3625 .build()
3626 .expect("invalid params");
3627 let resolver = crate::config::endpoint::DefaultResolver::new();
3628 let endpoint = resolver.resolve_endpoint(¶ms);
3629 let error = endpoint.expect_err("expected error: Invalid Access Point Name [empty arn type]");
3630 assert_eq!(format!("{}", error), "Invalid Access Point Name")
3631 }
3632
3633 #[test]
3635 fn test_130() {
3636 let params = crate::config::endpoint::Params::builder()
3637 .region("us-east-2".to_string())
3638 .bucket("arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint".to_string())
3639 .use_arn_region(true)
3640 .build()
3641 .expect("invalid params");
3642 let resolver = crate::config::endpoint::DefaultResolver::new();
3643 let endpoint = resolver.resolve_endpoint(¶ms);
3644 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]");
3645 assert_eq!(
3646 format!("{}", error),
3647 "Client was configured for partition `aws` but ARN (`arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint`) has `aws-cn`"
3648 )
3649 }
3650
3651 #[test]
3653 fn test_131() {
3654 let params = crate::config::endpoint::Params::builder()
3655 .region("us-east-2".to_string())
3656 .bucket("arn:aws:s3-object-lambda:us-east_2:123456789012:accesspoint:my-endpoint".to_string())
3657 .use_arn_region(true)
3658 .build()
3659 .expect("invalid params");
3660 let resolver = crate::config::endpoint::DefaultResolver::new();
3661 let endpoint = resolver.resolve_endpoint(¶ms);
3662 let error = endpoint.expect_err("expected error: Invalid region in ARN: `us-east_2` (invalid DNS name) [invalid arn region]");
3663 assert_eq!(format!("{}", error), "Invalid region in ARN: `us-east_2` (invalid DNS name)")
3664 }
3665
3666 #[test]
3668 fn test_132() {
3669 let params = crate::config::endpoint::Params::builder()
3670 .region("us-east-2".to_string())
3671 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op_01234567890123456/accesspoint/reports".to_string())
3672 .use_arn_region(true)
3673 .build()
3674 .expect("invalid params");
3675 let resolver = crate::config::endpoint::DefaultResolver::new();
3676 let endpoint = resolver.resolve_endpoint(¶ms);
3677 let error = endpoint.expect_err(
3678 "expected error: Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456` [invalid ARN outpost]",
3679 );
3680 assert_eq!(
3681 format!("{}", error),
3682 "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456`"
3683 )
3684 }
3685
3686 #[test]
3688 fn test_133() {
3689 let params = crate::config::endpoint::Params::builder()
3690 .region("us-east-2".to_string())
3691 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/reports".to_string())
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 ARN: expected an access point name [invalid ARN]");
3697 assert_eq!(format!("{}", error), "Invalid ARN: expected an access point name")
3698 }
3699
3700 #[test]
3702 fn test_134() {
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".to_string())
3706 .build()
3707 .expect("invalid params");
3708 let resolver = crate::config::endpoint::DefaultResolver::new();
3709 let endpoint = resolver.resolve_endpoint(¶ms);
3710 let error = endpoint.expect_err("expected error: Invalid ARN: Expected a 4-component resource [invalid ARN]");
3711 assert_eq!(format!("{}", error), "Invalid ARN: Expected a 4-component resource")
3712 }
3713
3714 #[test]
3716 fn test_135() {
3717 let params = crate::config::endpoint::Params::builder()
3718 .region("us-east-2".to_string())
3719 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports".to_string())
3720 .build()
3721 .expect("invalid params");
3722 let resolver = crate::config::endpoint::DefaultResolver::new();
3723 let endpoint = resolver.resolve_endpoint(¶ms);
3724 let error = endpoint.expect_err("expected error: Expected an outpost type `accesspoint`, found not-accesspoint [invalid outpost type]");
3725 assert_eq!(format!("{}", error), "Expected an outpost type `accesspoint`, found not-accesspoint")
3726 }
3727
3728 #[test]
3730 fn test_136() {
3731 let params = crate::config::endpoint::Params::builder()
3732 .region("us-east-2".to_string())
3733 .bucket("arn:aws:s3-outposts:us-east_1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports".to_string())
3734 .build()
3735 .expect("invalid params");
3736 let resolver = crate::config::endpoint::DefaultResolver::new();
3737 let endpoint = resolver.resolve_endpoint(¶ms);
3738 let error = endpoint.expect_err("expected error: Invalid region in ARN: `us-east_1` (invalid DNS name) [invalid outpost type]");
3739 assert_eq!(format!("{}", error), "Invalid region in ARN: `us-east_1` (invalid DNS name)")
3740 }
3741
3742 #[test]
3744 fn test_137() {
3745 let params = crate::config::endpoint::Params::builder()
3746 .region("us-east-2".to_string())
3747 .bucket("arn:aws:s3-outposts:us-east-1:12345_789012:outpost/op-01234567890123456/not-accesspoint/reports".to_string())
3748 .build()
3749 .expect("invalid params");
3750 let resolver = crate::config::endpoint::DefaultResolver::new();
3751 let endpoint = resolver.resolve_endpoint(¶ms);
3752 let error = endpoint.expect_err(
3753 "expected error: Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012` [invalid outpost type]",
3754 );
3755 assert_eq!(
3756 format!("{}", error),
3757 "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012`"
3758 )
3759 }
3760
3761 #[test]
3763 fn test_138() {
3764 let params = crate::config::endpoint::Params::builder()
3765 .region("us-east-2".to_string())
3766 .bucket("arn:aws:s3-outposts:us-east-1:12345789012:outpost".to_string())
3767 .build()
3768 .expect("invalid params");
3769 let resolver = crate::config::endpoint::DefaultResolver::new();
3770 let endpoint = resolver.resolve_endpoint(¶ms);
3771 let error = endpoint.expect_err("expected error: Invalid ARN: The Outpost Id was not set [invalid outpost type]");
3772 assert_eq!(format!("{}", error), "Invalid ARN: The Outpost Id was not set")
3773 }
3774
3775 #[test]
3777 fn test_139() {
3778 let params = crate::config::endpoint::Params::builder()
3779 .region("us-east-2".to_string())
3780 .bucket("bucket".to_string())
3781 .endpoint("http://example.com".to_string())
3782 .use_global_endpoint(true)
3783 .build()
3784 .expect("invalid params");
3785 let resolver = crate::config::endpoint::DefaultResolver::new();
3786 let endpoint = resolver.resolve_endpoint(¶ms);
3787 let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.example.com");
3788 assert_eq!(
3789 endpoint,
3790 ::aws_smithy_types::endpoint::Endpoint::builder()
3791 .url("http://bucket.example.com")
3792 .property(
3793 "authSchemes",
3794 vec![::aws_smithy_types::Document::from({
3795 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3796 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3797 out.insert("name".to_string(), "sigv4".to_string().into());
3798 out.insert("signingName".to_string(), "s3".to_string().into());
3799 out.insert("disableDoubleEncoding".to_string(), true.into());
3800 out
3801 })]
3802 )
3803 .build()
3804 );
3805 }
3806
3807 #[test]
3809 fn test_140() {
3810 let params = crate::config::endpoint::Params::builder()
3811 .region("us-east-2".to_string())
3812 .bucket("bucket".to_string())
3813 .endpoint("http://192.168.0.1".to_string())
3814 .use_global_endpoint(true)
3815 .build()
3816 .expect("invalid params");
3817 let resolver = crate::config::endpoint::DefaultResolver::new();
3818 let endpoint = resolver.resolve_endpoint(¶ms);
3819 let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.0.1/bucket");
3820 assert_eq!(
3821 endpoint,
3822 ::aws_smithy_types::endpoint::Endpoint::builder()
3823 .url("http://192.168.0.1/bucket")
3824 .property(
3825 "authSchemes",
3826 vec![::aws_smithy_types::Document::from({
3827 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3828 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3829 out.insert("name".to_string(), "sigv4".to_string().into());
3830 out.insert("signingName".to_string(), "s3".to_string().into());
3831 out.insert("disableDoubleEncoding".to_string(), true.into());
3832 out
3833 })]
3834 )
3835 .build()
3836 );
3837 }
3838
3839 #[test]
3841 fn test_141() {
3842 let params = crate::config::endpoint::Params::builder()
3843 .region("us-east-2".to_string())
3844 .bucket("bucket!".to_string())
3845 .use_global_endpoint(true)
3846 .build()
3847 .expect("invalid params");
3848 let resolver = crate::config::endpoint::DefaultResolver::new();
3849 let endpoint = resolver.resolve_endpoint(¶ms);
3850 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-2.amazonaws.com/bucket%21");
3851 assert_eq!(
3852 endpoint,
3853 ::aws_smithy_types::endpoint::Endpoint::builder()
3854 .url("https://s3.us-east-2.amazonaws.com/bucket%21")
3855 .property(
3856 "authSchemes",
3857 vec![::aws_smithy_types::Document::from({
3858 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3859 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3860 out.insert("name".to_string(), "sigv4".to_string().into());
3861 out.insert("signingName".to_string(), "s3".to_string().into());
3862 out.insert("disableDoubleEncoding".to_string(), true.into());
3863 out
3864 })]
3865 )
3866 .build()
3867 );
3868 }
3869
3870 #[test]
3872 fn test_142() {
3873 let params = crate::config::endpoint::Params::builder()
3874 .region("us-east-2".to_string())
3875 .bucket("bucket".to_string())
3876 .accelerate(true)
3877 .use_global_endpoint(true)
3878 .build()
3879 .expect("invalid params");
3880 let resolver = crate::config::endpoint::DefaultResolver::new();
3881 let endpoint = resolver.resolve_endpoint(¶ms);
3882 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.amazonaws.com");
3883 assert_eq!(
3884 endpoint,
3885 ::aws_smithy_types::endpoint::Endpoint::builder()
3886 .url("https://bucket.s3-accelerate.amazonaws.com")
3887 .property(
3888 "authSchemes",
3889 vec![::aws_smithy_types::Document::from({
3890 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3891 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3892 out.insert("name".to_string(), "sigv4".to_string().into());
3893 out.insert("signingName".to_string(), "s3".to_string().into());
3894 out.insert("disableDoubleEncoding".to_string(), true.into());
3895 out
3896 })]
3897 )
3898 .build()
3899 );
3900 }
3901
3902 #[test]
3904 fn test_143() {
3905 let params = crate::config::endpoint::Params::builder()
3906 .region("us-east-2".to_string())
3907 .bucket("bucket!".to_string())
3908 .use_global_endpoint(true)
3909 .endpoint("http://foo.com".to_string())
3910 .build()
3911 .expect("invalid params");
3912 let resolver = crate::config::endpoint::DefaultResolver::new();
3913 let endpoint = resolver.resolve_endpoint(¶ms);
3914 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
3915 assert_eq!(
3916 endpoint,
3917 ::aws_smithy_types::endpoint::Endpoint::builder()
3918 .url("http://foo.com/bucket%21")
3919 .property(
3920 "authSchemes",
3921 vec![::aws_smithy_types::Document::from({
3922 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3923 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3924 out.insert("name".to_string(), "sigv4".to_string().into());
3925 out.insert("signingName".to_string(), "s3".to_string().into());
3926 out.insert("disableDoubleEncoding".to_string(), true.into());
3927 out
3928 })]
3929 )
3930 .build()
3931 );
3932 }
3933
3934 #[test]
3936 fn test_144() {
3937 let params = crate::config::endpoint::Params::builder()
3938 .region("us-east-2".to_string())
3939 .bucket("bucket!".to_string())
3940 .use_global_endpoint(true)
3941 .force_path_style(true)
3942 .endpoint("http://foo.com".to_string())
3943 .build()
3944 .expect("invalid params");
3945 let resolver = crate::config::endpoint::DefaultResolver::new();
3946 let endpoint = resolver.resolve_endpoint(¶ms);
3947 let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
3948 assert_eq!(
3949 endpoint,
3950 ::aws_smithy_types::endpoint::Endpoint::builder()
3951 .url("http://foo.com/bucket%21")
3952 .property(
3953 "authSchemes",
3954 vec![::aws_smithy_types::Document::from({
3955 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
3956 out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
3957 out.insert("name".to_string(), "sigv4".to_string().into());
3958 out.insert("signingName".to_string(), "s3".to_string().into());
3959 out.insert("disableDoubleEncoding".to_string(), true.into());
3960 out
3961 })]
3962 )
3963 .build()
3964 );
3965 }
3966
3967 #[test]
3969 fn test_145() {
3970 let params = crate::config::endpoint::Params::builder()
3971 .accelerate(false)
3972 .bucket("bucket-name".to_string())
3973 .force_path_style(false)
3974 .region("us-west-2".to_string())
3975 .use_dual_stack(false)
3976 .use_fips(false)
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: https://bucket-name.s3.us-west-2.amazonaws.com");
3982 assert_eq!(
3983 endpoint,
3984 ::aws_smithy_types::endpoint::Endpoint::builder()
3985 .url("https://bucket-name.s3.us-west-2.amazonaws.com")
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("name".to_string(), "sigv4".to_string().into());
3991 out.insert("signingName".to_string(), "s3".to_string().into());
3992 out.insert("signingRegion".to_string(), "us-west-2".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(true)
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.dualstack.us-west-2.amazonaws.com");
4016 assert_eq!(
4017 endpoint,
4018 ::aws_smithy_types::endpoint::Endpoint::builder()
4019 .url("https://bucket-name.s3.dualstack.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(true)
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-accelerate.dualstack.amazonaws.com");
4050 assert_eq!(
4051 endpoint,
4052 ::aws_smithy_types::endpoint::Endpoint::builder()
4053 .url("https://bucket-name.s3-accelerate.dualstack.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(false)
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.amazonaws.com");
4084 assert_eq!(
4085 endpoint,
4086 ::aws_smithy_types::endpoint::Endpoint::builder()
4087 .url("https://bucket-name.s3-accelerate.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(false)
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(true)
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-fips.us-west-2.amazonaws.com");
4118 assert_eq!(
4119 endpoint,
4120 ::aws_smithy_types::endpoint::Endpoint::builder()
4121 .url("https://bucket-name.s3-fips.us-west-2.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(true)
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.dualstack.us-west-2.amazonaws.com");
4152 assert_eq!(
4153 endpoint,
4154 ::aws_smithy_types::endpoint::Endpoint::builder()
4155 .url("https://bucket-name.s3-fips.dualstack.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(true)
4176 .bucket("bucket-name".to_string())
4177 .force_path_style(false)
4178 .region("us-west-2".to_string())
4179 .use_dual_stack(false)
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 error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@us-west-2]");
4186 assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
4187 }
4188
4189 #[test]
4191 fn test_152() {
4192 let params = crate::config::endpoint::Params::builder()
4193 .accelerate(false)
4194 .bucket("bucket-name".to_string())
4195 .force_path_style(false)
4196 .region("cn-north-1".to_string())
4197 .use_dual_stack(false)
4198 .use_fips(false)
4199 .build()
4200 .expect("invalid params");
4201 let resolver = crate::config::endpoint::DefaultResolver::new();
4202 let endpoint = resolver.resolve_endpoint(¶ms);
4203 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.cn-north-1.amazonaws.com.cn");
4204 assert_eq!(
4205 endpoint,
4206 ::aws_smithy_types::endpoint::Endpoint::builder()
4207 .url("https://bucket-name.s3.cn-north-1.amazonaws.com.cn")
4208 .property(
4209 "authSchemes",
4210 vec![::aws_smithy_types::Document::from({
4211 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4212 out.insert("name".to_string(), "sigv4".to_string().into());
4213 out.insert("signingName".to_string(), "s3".to_string().into());
4214 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4215 out.insert("disableDoubleEncoding".to_string(), true.into());
4216 out
4217 })]
4218 )
4219 .build()
4220 );
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(true)
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.dualstack.cn-north-1.amazonaws.com.cn");
4238 assert_eq!(
4239 endpoint,
4240 ::aws_smithy_types::endpoint::Endpoint::builder()
4241 .url("https://bucket-name.s3.dualstack.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(true)
4262 .bucket("bucket-name".to_string())
4263 .force_path_style(false)
4264 .region("cn-north-1".to_string())
4265 .use_dual_stack(false)
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 error = endpoint.expect_err("expected error: S3 Accelerate cannot be used in this region [accelerate (dualstack=false)@cn-north-1]");
4272 assert_eq!(format!("{}", error), "S3 Accelerate cannot be used in this region")
4273 }
4274
4275 #[test]
4277 fn test_155() {
4278 let params = crate::config::endpoint::Params::builder()
4279 .accelerate(false)
4280 .bucket("bucket-name".to_string())
4281 .force_path_style(false)
4282 .region("cn-north-1".to_string())
4283 .use_dual_stack(false)
4284 .use_fips(true)
4285 .build()
4286 .expect("invalid params");
4287 let resolver = crate::config::endpoint::DefaultResolver::new();
4288 let endpoint = resolver.resolve_endpoint(¶ms);
4289 let error = endpoint.expect_err("expected error: Partition does not support FIPS [virtual addressing + fips@cn-north-1]");
4290 assert_eq!(format!("{}", error), "Partition does not support FIPS")
4291 }
4292
4293 #[test]
4295 fn test_156() {
4296 let params = crate::config::endpoint::Params::builder()
4297 .accelerate(false)
4298 .bucket("bucket-name".to_string())
4299 .force_path_style(false)
4300 .region("af-south-1".to_string())
4301 .use_dual_stack(false)
4302 .use_fips(false)
4303 .build()
4304 .expect("invalid params");
4305 let resolver = crate::config::endpoint::DefaultResolver::new();
4306 let endpoint = resolver.resolve_endpoint(¶ms);
4307 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.af-south-1.amazonaws.com");
4308 assert_eq!(
4309 endpoint,
4310 ::aws_smithy_types::endpoint::Endpoint::builder()
4311 .url("https://bucket-name.s3.af-south-1.amazonaws.com")
4312 .property(
4313 "authSchemes",
4314 vec![::aws_smithy_types::Document::from({
4315 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4316 out.insert("name".to_string(), "sigv4".to_string().into());
4317 out.insert("signingName".to_string(), "s3".to_string().into());
4318 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4319 out.insert("disableDoubleEncoding".to_string(), true.into());
4320 out
4321 })]
4322 )
4323 .build()
4324 );
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(true)
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.dualstack.af-south-1.amazonaws.com");
4342 assert_eq!(
4343 endpoint,
4344 ::aws_smithy_types::endpoint::Endpoint::builder()
4345 .url("https://bucket-name.s3.dualstack.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(true)
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-accelerate.dualstack.amazonaws.com");
4376 assert_eq!(
4377 endpoint,
4378 ::aws_smithy_types::endpoint::Endpoint::builder()
4379 .url("https://bucket-name.s3-accelerate.dualstack.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(false)
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.amazonaws.com");
4410 assert_eq!(
4411 endpoint,
4412 ::aws_smithy_types::endpoint::Endpoint::builder()
4413 .url("https://bucket-name.s3-accelerate.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(false)
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(true)
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-fips.af-south-1.amazonaws.com");
4444 assert_eq!(
4445 endpoint,
4446 ::aws_smithy_types::endpoint::Endpoint::builder()
4447 .url("https://bucket-name.s3-fips.af-south-1.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(true)
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.dualstack.af-south-1.amazonaws.com");
4478 assert_eq!(
4479 endpoint,
4480 ::aws_smithy_types::endpoint::Endpoint::builder()
4481 .url("https://bucket-name.s3-fips.dualstack.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(true)
4502 .bucket("bucket-name".to_string())
4503 .force_path_style(false)
4504 .region("af-south-1".to_string())
4505 .use_dual_stack(false)
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 error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@af-south-1]");
4512 assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
4513 }
4514
4515 #[test]
4517 fn test_163() {
4518 let params = crate::config::endpoint::Params::builder()
4519 .accelerate(false)
4520 .bucket("bucket-name".to_string())
4521 .force_path_style(true)
4522 .region("us-west-2".to_string())
4523 .use_dual_stack(false)
4524 .use_fips(false)
4525 .build()
4526 .expect("invalid params");
4527 let resolver = crate::config::endpoint::DefaultResolver::new();
4528 let endpoint = resolver.resolve_endpoint(¶ms);
4529 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
4530 assert_eq!(
4531 endpoint,
4532 ::aws_smithy_types::endpoint::Endpoint::builder()
4533 .url("https://s3.us-west-2.amazonaws.com/bucket-name")
4534 .property(
4535 "authSchemes",
4536 vec![::aws_smithy_types::Document::from({
4537 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4538 out.insert("name".to_string(), "sigv4".to_string().into());
4539 out.insert("signingName".to_string(), "s3".to_string().into());
4540 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4541 out.insert("disableDoubleEncoding".to_string(), true.into());
4542 out
4543 })]
4544 )
4545 .build()
4546 );
4547 }
4548
4549 #[test]
4551 fn test_164() {
4552 let params = crate::config::endpoint::Params::builder()
4553 .accelerate(false)
4554 .bucket("bucket.with.dots".to_string())
4555 .region("us-gov-west-1".to_string())
4556 .use_dual_stack(false)
4557 .use_fips(true)
4558 .build()
4559 .expect("invalid params");
4560 let resolver = crate::config::endpoint::DefaultResolver::new();
4561 let endpoint = resolver.resolve_endpoint(¶ms);
4562 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots");
4563 assert_eq!(
4564 endpoint,
4565 ::aws_smithy_types::endpoint::Endpoint::builder()
4566 .url("https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots")
4567 .property(
4568 "authSchemes",
4569 vec![::aws_smithy_types::Document::from({
4570 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4571 out.insert("signingName".to_string(), "s3".to_string().into());
4572 out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
4573 out.insert("disableDoubleEncoding".to_string(), true.into());
4574 out.insert("name".to_string(), "sigv4".to_string().into());
4575 out
4576 })]
4577 )
4578 .build()
4579 );
4580 }
4581
4582 #[test]
4584 fn test_165() {
4585 let params = crate::config::endpoint::Params::builder()
4586 .accelerate(true)
4587 .bucket("bucket-name".to_string())
4588 .force_path_style(true)
4589 .region("us-west-2".to_string())
4590 .use_dual_stack(false)
4591 .use_fips(false)
4592 .build()
4593 .expect("invalid params");
4594 let resolver = crate::config::endpoint::DefaultResolver::new();
4595 let endpoint = resolver.resolve_endpoint(¶ms);
4596 let error = endpoint
4597 .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@us-west-2]");
4598 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
4599 }
4600
4601 #[test]
4603 fn test_166() {
4604 let params = crate::config::endpoint::Params::builder()
4605 .accelerate(false)
4606 .bucket("bucket-name".to_string())
4607 .force_path_style(true)
4608 .region("us-west-2".to_string())
4609 .use_dual_stack(true)
4610 .use_fips(false)
4611 .build()
4612 .expect("invalid params");
4613 let resolver = crate::config::endpoint::DefaultResolver::new();
4614 let endpoint = resolver.resolve_endpoint(¶ms);
4615 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucket-name");
4616 assert_eq!(
4617 endpoint,
4618 ::aws_smithy_types::endpoint::Endpoint::builder()
4619 .url("https://s3.dualstack.us-west-2.amazonaws.com/bucket-name")
4620 .property(
4621 "authSchemes",
4622 vec![::aws_smithy_types::Document::from({
4623 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4624 out.insert("name".to_string(), "sigv4".to_string().into());
4625 out.insert("signingName".to_string(), "s3".to_string().into());
4626 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4627 out.insert("disableDoubleEncoding".to_string(), true.into());
4628 out
4629 })]
4630 )
4631 .build()
4632 );
4633 }
4634
4635 #[test]
4637 fn test_167() {
4638 let params = crate::config::endpoint::Params::builder()
4639 .accelerate(false)
4640 .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
4641 .force_path_style(true)
4642 .region("us-west-2".to_string())
4643 .use_dual_stack(false)
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 error =
4650 endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@us-west-2]");
4651 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
4652 }
4653
4654 #[test]
4656 fn test_168() {
4657 let params = crate::config::endpoint::Params::builder()
4658 .accelerate(false)
4659 .bucket("99a_b".to_string())
4660 .force_path_style(true)
4661 .region("us-west-2".to_string())
4662 .use_dual_stack(false)
4663 .use_fips(false)
4664 .build()
4665 .expect("invalid params");
4666 let resolver = crate::config::endpoint::DefaultResolver::new();
4667 let endpoint = resolver.resolve_endpoint(¶ms);
4668 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
4669 assert_eq!(
4670 endpoint,
4671 ::aws_smithy_types::endpoint::Endpoint::builder()
4672 .url("https://s3.us-west-2.amazonaws.com/99a_b")
4673 .property(
4674 "authSchemes",
4675 vec![::aws_smithy_types::Document::from({
4676 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4677 out.insert("name".to_string(), "sigv4".to_string().into());
4678 out.insert("signingName".to_string(), "s3".to_string().into());
4679 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4680 out.insert("disableDoubleEncoding".to_string(), true.into());
4681 out
4682 })]
4683 )
4684 .build()
4685 );
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 .region("us-west-2".to_string())
4695 .use_dual_stack(false)
4696 .use_fips(false)
4697 .build()
4698 .expect("invalid params");
4699 let resolver = crate::config::endpoint::DefaultResolver::new();
4700 let endpoint = resolver.resolve_endpoint(¶ms);
4701 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
4702 assert_eq!(
4703 endpoint,
4704 ::aws_smithy_types::endpoint::Endpoint::builder()
4705 .url("https://s3.us-west-2.amazonaws.com/99a_b")
4706 .property(
4707 "authSchemes",
4708 vec![::aws_smithy_types::Document::from({
4709 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4710 out.insert("name".to_string(), "sigv4".to_string().into());
4711 out.insert("signingName".to_string(), "s3".to_string().into());
4712 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
4713 out.insert("disableDoubleEncoding".to_string(), true.into());
4714 out
4715 })]
4716 )
4717 .build()
4718 );
4719 }
4720
4721 #[test]
4723 fn test_170() {
4724 let params = crate::config::endpoint::Params::builder()
4725 .accelerate(false)
4726 .bucket("bucket-name".to_string())
4727 .force_path_style(true)
4728 .region("cn-north-1".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.cn-north-1.amazonaws.com.cn/bucket-name");
4736 assert_eq!(
4737 endpoint,
4738 ::aws_smithy_types::endpoint::Endpoint::builder()
4739 .url("https://s3.cn-north-1.amazonaws.com.cn/bucket-name")
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(), "cn-north-1".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(true)
4765 .build()
4766 .expect("invalid params");
4767 let resolver = crate::config::endpoint::DefaultResolver::new();
4768 let endpoint = resolver.resolve_endpoint(¶ms);
4769 let error = endpoint.expect_err("expected error: Partition does not support FIPS [path style + fips@cn-north-1]");
4770 assert_eq!(format!("{}", error), "Partition does not support FIPS")
4771 }
4772
4773 #[test]
4775 fn test_172() {
4776 let params = crate::config::endpoint::Params::builder()
4777 .accelerate(true)
4778 .bucket("bucket-name".to_string())
4779 .force_path_style(true)
4780 .region("cn-north-1".to_string())
4781 .use_dual_stack(false)
4782 .use_fips(false)
4783 .build()
4784 .expect("invalid params");
4785 let resolver = crate::config::endpoint::DefaultResolver::new();
4786 let endpoint = resolver.resolve_endpoint(¶ms);
4787 let error = endpoint
4788 .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@cn-north-1]");
4789 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
4790 }
4791
4792 #[test]
4794 fn test_173() {
4795 let params = crate::config::endpoint::Params::builder()
4796 .accelerate(false)
4797 .bucket("bucket-name".to_string())
4798 .force_path_style(true)
4799 .region("cn-north-1".to_string())
4800 .use_dual_stack(true)
4801 .use_fips(false)
4802 .build()
4803 .expect("invalid params");
4804 let resolver = crate::config::endpoint::DefaultResolver::new();
4805 let endpoint = resolver.resolve_endpoint(¶ms);
4806 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name");
4807 assert_eq!(
4808 endpoint,
4809 ::aws_smithy_types::endpoint::Endpoint::builder()
4810 .url("https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name")
4811 .property(
4812 "authSchemes",
4813 vec![::aws_smithy_types::Document::from({
4814 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4815 out.insert("name".to_string(), "sigv4".to_string().into());
4816 out.insert("signingName".to_string(), "s3".to_string().into());
4817 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4818 out.insert("disableDoubleEncoding".to_string(), true.into());
4819 out
4820 })]
4821 )
4822 .build()
4823 );
4824 }
4825
4826 #[test]
4828 fn test_174() {
4829 let params = crate::config::endpoint::Params::builder()
4830 .accelerate(false)
4831 .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
4832 .force_path_style(true)
4833 .region("cn-north-1".to_string())
4834 .use_dual_stack(false)
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 error =
4841 endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@cn-north-1]");
4842 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
4843 }
4844
4845 #[test]
4847 fn test_175() {
4848 let params = crate::config::endpoint::Params::builder()
4849 .accelerate(false)
4850 .bucket("99a_b".to_string())
4851 .force_path_style(true)
4852 .region("cn-north-1".to_string())
4853 .use_dual_stack(false)
4854 .use_fips(false)
4855 .build()
4856 .expect("invalid params");
4857 let resolver = crate::config::endpoint::DefaultResolver::new();
4858 let endpoint = resolver.resolve_endpoint(¶ms);
4859 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
4860 assert_eq!(
4861 endpoint,
4862 ::aws_smithy_types::endpoint::Endpoint::builder()
4863 .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
4864 .property(
4865 "authSchemes",
4866 vec![::aws_smithy_types::Document::from({
4867 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4868 out.insert("name".to_string(), "sigv4".to_string().into());
4869 out.insert("signingName".to_string(), "s3".to_string().into());
4870 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4871 out.insert("disableDoubleEncoding".to_string(), true.into());
4872 out
4873 })]
4874 )
4875 .build()
4876 );
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 .region("cn-north-1".to_string())
4886 .use_dual_stack(false)
4887 .use_fips(false)
4888 .build()
4889 .expect("invalid params");
4890 let resolver = crate::config::endpoint::DefaultResolver::new();
4891 let endpoint = resolver.resolve_endpoint(¶ms);
4892 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
4893 assert_eq!(
4894 endpoint,
4895 ::aws_smithy_types::endpoint::Endpoint::builder()
4896 .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
4897 .property(
4898 "authSchemes",
4899 vec![::aws_smithy_types::Document::from({
4900 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
4901 out.insert("name".to_string(), "sigv4".to_string().into());
4902 out.insert("signingName".to_string(), "s3".to_string().into());
4903 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
4904 out.insert("disableDoubleEncoding".to_string(), true.into());
4905 out
4906 })]
4907 )
4908 .build()
4909 );
4910 }
4911
4912 #[test]
4914 fn test_177() {
4915 let params = crate::config::endpoint::Params::builder()
4916 .accelerate(false)
4917 .bucket("bucket-name".to_string())
4918 .force_path_style(true)
4919 .region("af-south-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.af-south-1.amazonaws.com/bucket-name");
4927 assert_eq!(
4928 endpoint,
4929 ::aws_smithy_types::endpoint::Endpoint::builder()
4930 .url("https://s3.af-south-1.amazonaws.com/bucket-name")
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(), "af-south-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(true)
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-fips.af-south-1.amazonaws.com/bucket-name");
4961 assert_eq!(
4962 endpoint,
4963 ::aws_smithy_types::endpoint::Endpoint::builder()
4964 .url("https://s3-fips.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("signingName".to_string(), "s3".to_string().into());
4970 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
4971 out.insert("disableDoubleEncoding".to_string(), true.into());
4972 out.insert("name".to_string(), "sigv4".to_string().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(true)
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(false)
4990 .build()
4991 .expect("invalid params");
4992 let resolver = crate::config::endpoint::DefaultResolver::new();
4993 let endpoint = resolver.resolve_endpoint(¶ms);
4994 let error = endpoint
4995 .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@af-south-1]");
4996 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
4997 }
4998
4999 #[test]
5001 fn test_180() {
5002 let params = crate::config::endpoint::Params::builder()
5003 .accelerate(false)
5004 .bucket("bucket-name".to_string())
5005 .force_path_style(true)
5006 .region("af-south-1".to_string())
5007 .use_dual_stack(true)
5008 .use_fips(false)
5009 .build()
5010 .expect("invalid params");
5011 let resolver = crate::config::endpoint::DefaultResolver::new();
5012 let endpoint = resolver.resolve_endpoint(¶ms);
5013 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.af-south-1.amazonaws.com/bucket-name");
5014 assert_eq!(
5015 endpoint,
5016 ::aws_smithy_types::endpoint::Endpoint::builder()
5017 .url("https://s3.dualstack.af-south-1.amazonaws.com/bucket-name")
5018 .property(
5019 "authSchemes",
5020 vec![::aws_smithy_types::Document::from({
5021 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5022 out.insert("name".to_string(), "sigv4".to_string().into());
5023 out.insert("signingName".to_string(), "s3".to_string().into());
5024 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5025 out.insert("disableDoubleEncoding".to_string(), true.into());
5026 out
5027 })]
5028 )
5029 .build()
5030 );
5031 }
5032
5033 #[test]
5035 fn test_181() {
5036 let params = crate::config::endpoint::Params::builder()
5037 .accelerate(false)
5038 .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
5039 .force_path_style(true)
5040 .region("af-south-1".to_string())
5041 .use_dual_stack(false)
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 error =
5048 endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@af-south-1]");
5049 assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
5050 }
5051
5052 #[test]
5054 fn test_182() {
5055 let params = crate::config::endpoint::Params::builder()
5056 .accelerate(false)
5057 .bucket("99a_b".to_string())
5058 .force_path_style(true)
5059 .region("af-south-1".to_string())
5060 .use_dual_stack(false)
5061 .use_fips(false)
5062 .build()
5063 .expect("invalid params");
5064 let resolver = crate::config::endpoint::DefaultResolver::new();
5065 let endpoint = resolver.resolve_endpoint(¶ms);
5066 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
5067 assert_eq!(
5068 endpoint,
5069 ::aws_smithy_types::endpoint::Endpoint::builder()
5070 .url("https://s3.af-south-1.amazonaws.com/99a_b")
5071 .property(
5072 "authSchemes",
5073 vec![::aws_smithy_types::Document::from({
5074 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5075 out.insert("name".to_string(), "sigv4".to_string().into());
5076 out.insert("signingName".to_string(), "s3".to_string().into());
5077 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5078 out.insert("disableDoubleEncoding".to_string(), true.into());
5079 out
5080 })]
5081 )
5082 .build()
5083 );
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 .region("af-south-1".to_string())
5093 .use_dual_stack(false)
5094 .use_fips(false)
5095 .build()
5096 .expect("invalid params");
5097 let resolver = crate::config::endpoint::DefaultResolver::new();
5098 let endpoint = resolver.resolve_endpoint(¶ms);
5099 let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
5100 assert_eq!(
5101 endpoint,
5102 ::aws_smithy_types::endpoint::Endpoint::builder()
5103 .url("https://s3.af-south-1.amazonaws.com/99a_b")
5104 .property(
5105 "authSchemes",
5106 vec![::aws_smithy_types::Document::from({
5107 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5108 out.insert("name".to_string(), "sigv4".to_string().into());
5109 out.insert("signingName".to_string(), "s3".to_string().into());
5110 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5111 out.insert("disableDoubleEncoding".to_string(), true.into());
5112 out
5113 })]
5114 )
5115 .build()
5116 );
5117 }
5118
5119 #[test]
5121 fn test_184() {
5122 let params = crate::config::endpoint::Params::builder()
5123 .accelerate(false)
5124 .bucket("bucket-name".to_string())
5125 .force_path_style(false)
5126 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5127 .region("us-west-2".to_string())
5128 .use_dual_stack(false)
5129 .use_fips(false)
5130 .build()
5131 .expect("invalid params");
5132 let resolver = crate::config::endpoint::DefaultResolver::new();
5133 let endpoint = resolver.resolve_endpoint(¶ms);
5134 let endpoint = endpoint.expect("Expected valid endpoint: http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
5135 assert_eq!(
5136 endpoint,
5137 ::aws_smithy_types::endpoint::Endpoint::builder()
5138 .url("http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
5139 .property(
5140 "authSchemes",
5141 vec![::aws_smithy_types::Document::from({
5142 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5143 out.insert("name".to_string(), "sigv4".to_string().into());
5144 out.insert("signingName".to_string(), "s3".to_string().into());
5145 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5146 out.insert("disableDoubleEncoding".to_string(), true.into());
5147 out
5148 })]
5149 )
5150 .build()
5151 );
5152 }
5153
5154 #[test]
5156 fn test_185() {
5157 let params = crate::config::endpoint::Params::builder()
5158 .accelerate(false)
5159 .bucket("bucket-name".to_string())
5160 .force_path_style(true)
5161 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5162 .region("us-west-2".to_string())
5163 .use_dual_stack(false)
5164 .use_fips(false)
5165 .build()
5166 .expect("invalid params");
5167 let resolver = crate::config::endpoint::DefaultResolver::new();
5168 let endpoint = resolver.resolve_endpoint(¶ms);
5169 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
5170 assert_eq!(
5171 endpoint,
5172 ::aws_smithy_types::endpoint::Endpoint::builder()
5173 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
5174 .property(
5175 "authSchemes",
5176 vec![::aws_smithy_types::Document::from({
5177 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5178 out.insert("name".to_string(), "sigv4".to_string().into());
5179 out.insert("signingName".to_string(), "s3".to_string().into());
5180 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5181 out.insert("disableDoubleEncoding".to_string(), true.into());
5182 out
5183 })]
5184 )
5185 .build()
5186 );
5187 }
5188
5189 #[test]
5191 fn test_186() {
5192 let params = crate::config::endpoint::Params::builder()
5193 .accelerate(false)
5194 .bucket("bucket-name".to_string())
5195 .force_path_style(false)
5196 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5197 .region("us-west-2".to_string())
5198 .use_dual_stack(false)
5199 .use_fips(true)
5200 .build()
5201 .expect("invalid params");
5202 let resolver = crate::config::endpoint::DefaultResolver::new();
5203 let endpoint = resolver.resolve_endpoint(¶ms);
5204 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [SDK::Host + FIPS@us-west-2]");
5205 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
5206 }
5207
5208 #[test]
5210 fn test_187() {
5211 let params = crate::config::endpoint::Params::builder()
5212 .accelerate(false)
5213 .bucket("bucket-name".to_string())
5214 .force_path_style(false)
5215 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5216 .region("us-west-2".to_string())
5217 .use_dual_stack(true)
5218 .use_fips(false)
5219 .build()
5220 .expect("invalid params");
5221 let resolver = crate::config::endpoint::DefaultResolver::new();
5222 let endpoint = resolver.resolve_endpoint(¶ms);
5223 let error =
5224 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + DualStack@us-west-2]");
5225 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
5226 }
5227
5228 #[test]
5230 fn test_188() {
5231 let params = crate::config::endpoint::Params::builder()
5232 .accelerate(true)
5233 .bucket("bucket-name".to_string())
5234 .force_path_style(false)
5235 .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5236 .region("us-west-2".to_string())
5237 .use_dual_stack(false)
5238 .use_fips(false)
5239 .build()
5240 .expect("invalid params");
5241 let resolver = crate::config::endpoint::DefaultResolver::new();
5242 let endpoint = resolver.resolve_endpoint(¶ms);
5243 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with S3 Accelerate [SDK::HOST + accelerate@us-west-2]");
5244 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with S3 Accelerate")
5245 }
5246
5247 #[test]
5249 fn test_189() {
5250 let params = crate::config::endpoint::Params::builder()
5251 .accelerate(false)
5252 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5253 .force_path_style(false)
5254 .endpoint("https://beta.example.com".to_string())
5255 .region("us-west-2".to_string())
5256 .use_dual_stack(false)
5257 .use_fips(false)
5258 .build()
5259 .expect("invalid params");
5260 let resolver = crate::config::endpoint::DefaultResolver::new();
5261 let endpoint = resolver.resolve_endpoint(¶ms);
5262 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
5263 assert_eq!(
5264 endpoint,
5265 ::aws_smithy_types::endpoint::Endpoint::builder()
5266 .url("https://myendpoint-123456789012.beta.example.com")
5267 .property(
5268 "authSchemes",
5269 vec![::aws_smithy_types::Document::from({
5270 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5271 out.insert("name".to_string(), "sigv4".to_string().into());
5272 out.insert("signingName".to_string(), "s3".to_string().into());
5273 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5274 out.insert("disableDoubleEncoding".to_string(), true.into());
5275 out
5276 })]
5277 )
5278 .build()
5279 );
5280 }
5281
5282 #[test]
5284 fn test_190() {
5285 let params = crate::config::endpoint::Params::builder()
5286 .accelerate(false)
5287 .bucket("bucket-name".to_string())
5288 .force_path_style(false)
5289 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5290 .region("cn-north-1".to_string())
5291 .use_dual_stack(false)
5292 .use_fips(false)
5293 .build()
5294 .expect("invalid params");
5295 let resolver = crate::config::endpoint::DefaultResolver::new();
5296 let endpoint = resolver.resolve_endpoint(¶ms);
5297 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
5298 assert_eq!(
5299 endpoint,
5300 ::aws_smithy_types::endpoint::Endpoint::builder()
5301 .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
5302 .property(
5303 "authSchemes",
5304 vec![::aws_smithy_types::Document::from({
5305 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5306 out.insert("name".to_string(), "sigv4".to_string().into());
5307 out.insert("signingName".to_string(), "s3".to_string().into());
5308 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5309 out.insert("disableDoubleEncoding".to_string(), true.into());
5310 out
5311 })]
5312 )
5313 .build()
5314 );
5315 }
5316
5317 #[test]
5319 fn test_191() {
5320 let params = crate::config::endpoint::Params::builder()
5321 .accelerate(false)
5322 .bucket("bucket-name".to_string())
5323 .force_path_style(true)
5324 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5325 .region("cn-north-1".to_string())
5326 .use_dual_stack(false)
5327 .use_fips(false)
5328 .build()
5329 .expect("invalid params");
5330 let resolver = crate::config::endpoint::DefaultResolver::new();
5331 let endpoint = resolver.resolve_endpoint(¶ms);
5332 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
5333 assert_eq!(
5334 endpoint,
5335 ::aws_smithy_types::endpoint::Endpoint::builder()
5336 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
5337 .property(
5338 "authSchemes",
5339 vec![::aws_smithy_types::Document::from({
5340 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5341 out.insert("name".to_string(), "sigv4".to_string().into());
5342 out.insert("signingName".to_string(), "s3".to_string().into());
5343 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5344 out.insert("disableDoubleEncoding".to_string(), true.into());
5345 out
5346 })]
5347 )
5348 .build()
5349 );
5350 }
5351
5352 #[test]
5354 fn test_192() {
5355 let params = crate::config::endpoint::Params::builder()
5356 .accelerate(false)
5357 .bucket("bucket-name".to_string())
5358 .force_path_style(false)
5359 .region("cn-north-1".to_string())
5360 .use_dual_stack(false)
5361 .use_fips(true)
5362 .build()
5363 .expect("invalid params");
5364 let resolver = crate::config::endpoint::DefaultResolver::new();
5365 let endpoint = resolver.resolve_endpoint(¶ms);
5366 let error = endpoint.expect_err("expected error: Partition does not support FIPS [FIPS@cn-north-1]");
5367 assert_eq!(format!("{}", error), "Partition does not support FIPS")
5368 }
5369
5370 #[test]
5372 fn test_193() {
5373 let params = crate::config::endpoint::Params::builder()
5374 .accelerate(false)
5375 .bucket("bucket-name".to_string())
5376 .force_path_style(false)
5377 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5378 .region("cn-north-1".to_string())
5379 .use_dual_stack(true)
5380 .use_fips(false)
5381 .build()
5382 .expect("invalid params");
5383 let resolver = crate::config::endpoint::DefaultResolver::new();
5384 let endpoint = resolver.resolve_endpoint(¶ms);
5385 let error =
5386 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + DualStack@cn-north-1]");
5387 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
5388 }
5389
5390 #[test]
5392 fn test_194() {
5393 let params = crate::config::endpoint::Params::builder()
5394 .accelerate(true)
5395 .bucket("bucket-name".to_string())
5396 .force_path_style(false)
5397 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5398 .region("cn-north-1".to_string())
5399 .use_dual_stack(false)
5400 .use_fips(false)
5401 .build()
5402 .expect("invalid params");
5403 let resolver = crate::config::endpoint::DefaultResolver::new();
5404 let endpoint = resolver.resolve_endpoint(¶ms);
5405 let error =
5406 endpoint.expect_err("expected error: A custom endpoint cannot be combined with S3 Accelerate [SDK::HOST + accelerate@cn-north-1]");
5407 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with S3 Accelerate")
5408 }
5409
5410 #[test]
5412 fn test_195() {
5413 let params = crate::config::endpoint::Params::builder()
5414 .accelerate(false)
5415 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5416 .force_path_style(false)
5417 .endpoint("https://beta.example.com".to_string())
5418 .region("cn-north-1".to_string())
5419 .use_dual_stack(false)
5420 .use_fips(false)
5421 .build()
5422 .expect("invalid params");
5423 let resolver = crate::config::endpoint::DefaultResolver::new();
5424 let endpoint = resolver.resolve_endpoint(¶ms);
5425 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
5426 assert_eq!(
5427 endpoint,
5428 ::aws_smithy_types::endpoint::Endpoint::builder()
5429 .url("https://myendpoint-123456789012.beta.example.com")
5430 .property(
5431 "authSchemes",
5432 vec![::aws_smithy_types::Document::from({
5433 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5434 out.insert("name".to_string(), "sigv4".to_string().into());
5435 out.insert("signingName".to_string(), "s3".to_string().into());
5436 out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
5437 out.insert("disableDoubleEncoding".to_string(), true.into());
5438 out
5439 })]
5440 )
5441 .build()
5442 );
5443 }
5444
5445 #[test]
5447 fn test_196() {
5448 let params = crate::config::endpoint::Params::builder()
5449 .accelerate(false)
5450 .bucket("bucket-name".to_string())
5451 .force_path_style(false)
5452 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5453 .region("af-south-1".to_string())
5454 .use_dual_stack(false)
5455 .use_fips(false)
5456 .build()
5457 .expect("invalid params");
5458 let resolver = crate::config::endpoint::DefaultResolver::new();
5459 let endpoint = resolver.resolve_endpoint(¶ms);
5460 let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
5461 assert_eq!(
5462 endpoint,
5463 ::aws_smithy_types::endpoint::Endpoint::builder()
5464 .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
5465 .property(
5466 "authSchemes",
5467 vec![::aws_smithy_types::Document::from({
5468 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5469 out.insert("name".to_string(), "sigv4".to_string().into());
5470 out.insert("signingName".to_string(), "s3".to_string().into());
5471 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5472 out.insert("disableDoubleEncoding".to_string(), true.into());
5473 out
5474 })]
5475 )
5476 .build()
5477 );
5478 }
5479
5480 #[test]
5482 fn test_197() {
5483 let params = crate::config::endpoint::Params::builder()
5484 .accelerate(false)
5485 .bucket("bucket-name".to_string())
5486 .force_path_style(true)
5487 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5488 .region("af-south-1".to_string())
5489 .use_dual_stack(false)
5490 .use_fips(false)
5491 .build()
5492 .expect("invalid params");
5493 let resolver = crate::config::endpoint::DefaultResolver::new();
5494 let endpoint = resolver.resolve_endpoint(¶ms);
5495 let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
5496 assert_eq!(
5497 endpoint,
5498 ::aws_smithy_types::endpoint::Endpoint::builder()
5499 .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
5500 .property(
5501 "authSchemes",
5502 vec![::aws_smithy_types::Document::from({
5503 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5504 out.insert("name".to_string(), "sigv4".to_string().into());
5505 out.insert("signingName".to_string(), "s3".to_string().into());
5506 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5507 out.insert("disableDoubleEncoding".to_string(), true.into());
5508 out
5509 })]
5510 )
5511 .build()
5512 );
5513 }
5514
5515 #[test]
5517 fn test_198() {
5518 let params = crate::config::endpoint::Params::builder()
5519 .accelerate(false)
5520 .bucket("bucket-name".to_string())
5521 .force_path_style(false)
5522 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5523 .region("af-south-1".to_string())
5524 .use_dual_stack(false)
5525 .use_fips(true)
5526 .build()
5527 .expect("invalid params");
5528 let resolver = crate::config::endpoint::DefaultResolver::new();
5529 let endpoint = resolver.resolve_endpoint(¶ms);
5530 let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [SDK::Host + FIPS@af-south-1]");
5531 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
5532 }
5533
5534 #[test]
5536 fn test_199() {
5537 let params = crate::config::endpoint::Params::builder()
5538 .accelerate(false)
5539 .bucket("bucket-name".to_string())
5540 .force_path_style(false)
5541 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5542 .region("af-south-1".to_string())
5543 .use_dual_stack(true)
5544 .use_fips(false)
5545 .build()
5546 .expect("invalid params");
5547 let resolver = crate::config::endpoint::DefaultResolver::new();
5548 let endpoint = resolver.resolve_endpoint(¶ms);
5549 let error =
5550 endpoint.expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [SDK::Host + DualStack@af-south-1]");
5551 assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
5552 }
5553
5554 #[test]
5556 fn test_200() {
5557 let params = crate::config::endpoint::Params::builder()
5558 .accelerate(true)
5559 .bucket("bucket-name".to_string())
5560 .force_path_style(false)
5561 .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
5562 .region("af-south-1".to_string())
5563 .use_dual_stack(false)
5564 .use_fips(false)
5565 .build()
5566 .expect("invalid params");
5567 let resolver = crate::config::endpoint::DefaultResolver::new();
5568 let endpoint = resolver.resolve_endpoint(¶ms);
5569 let error =
5570 endpoint.expect_err("expected error: A custom endpoint cannot be combined with S3 Accelerate [SDK::HOST + accelerate@af-south-1]");
5571 assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with S3 Accelerate")
5572 }
5573
5574 #[test]
5576 fn test_201() {
5577 let params = crate::config::endpoint::Params::builder()
5578 .accelerate(false)
5579 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5580 .force_path_style(false)
5581 .endpoint("https://beta.example.com".to_string())
5582 .region("af-south-1".to_string())
5583 .use_dual_stack(false)
5584 .use_fips(false)
5585 .build()
5586 .expect("invalid params");
5587 let resolver = crate::config::endpoint::DefaultResolver::new();
5588 let endpoint = resolver.resolve_endpoint(¶ms);
5589 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
5590 assert_eq!(
5591 endpoint,
5592 ::aws_smithy_types::endpoint::Endpoint::builder()
5593 .url("https://myendpoint-123456789012.beta.example.com")
5594 .property(
5595 "authSchemes",
5596 vec![::aws_smithy_types::Document::from({
5597 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5598 out.insert("name".to_string(), "sigv4".to_string().into());
5599 out.insert("signingName".to_string(), "s3".to_string().into());
5600 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5601 out.insert("disableDoubleEncoding".to_string(), true.into());
5602 out
5603 })]
5604 )
5605 .build()
5606 );
5607 }
5608
5609 #[test]
5611 fn test_202() {
5612 let params = crate::config::endpoint::Params::builder()
5613 .accelerate(false)
5614 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5615 .force_path_style(false)
5616 .region("us-west-2".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.s3-accesspoint.us-west-2.amazonaws.com");
5624 assert_eq!(
5625 endpoint,
5626 ::aws_smithy_types::endpoint::Endpoint::builder()
5627 .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.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(), "us-west-2".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(true)
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-fips.us-west-2.amazonaws.com");
5658 assert_eq!(
5659 endpoint,
5660 ::aws_smithy_types::endpoint::Endpoint::builder()
5661 .url("https://myendpoint-123456789012.s3-accesspoint-fips.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(true)
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(false)
5687 .build()
5688 .expect("invalid params");
5689 let resolver = crate::config::endpoint::DefaultResolver::new();
5690 let endpoint = resolver.resolve_endpoint(¶ms);
5691 let error =
5692 endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@us-west-2]");
5693 assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
5694 }
5695
5696 #[test]
5698 fn test_205() {
5699 let params = crate::config::endpoint::Params::builder()
5700 .accelerate(false)
5701 .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
5702 .force_path_style(false)
5703 .region("us-west-2".to_string())
5704 .use_dual_stack(true)
5705 .use_fips(true)
5706 .build()
5707 .expect("invalid params");
5708 let resolver = crate::config::endpoint::DefaultResolver::new();
5709 let endpoint = resolver.resolve_endpoint(¶ms);
5710 let endpoint =
5711 endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
5712 assert_eq!(
5713 endpoint,
5714 ::aws_smithy_types::endpoint::Endpoint::builder()
5715 .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
5716 .property(
5717 "authSchemes",
5718 vec![::aws_smithy_types::Document::from({
5719 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5720 out.insert("name".to_string(), "sigv4".to_string().into());
5721 out.insert("signingName".to_string(), "s3".to_string().into());
5722 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5723 out.insert("disableDoubleEncoding".to_string(), true.into());
5724 out
5725 })]
5726 )
5727 .build()
5728 );
5729 }
5730
5731 #[test]
5733 fn test_206() {
5734 let params = crate::config::endpoint::Params::builder()
5735 .accelerate(false)
5736 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5737 .force_path_style(false)
5738 .region("cn-north-1".to_string())
5739 .use_dual_stack(false)
5740 .use_fips(false)
5741 .build()
5742 .expect("invalid params");
5743 let resolver = crate::config::endpoint::DefaultResolver::new();
5744 let endpoint = resolver.resolve_endpoint(¶ms);
5745 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn");
5746 assert_eq!(
5747 endpoint,
5748 ::aws_smithy_types::endpoint::Endpoint::builder()
5749 .url("https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn")
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(), "cn-north-1".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(true)
5775 .build()
5776 .expect("invalid params");
5777 let resolver = crate::config::endpoint::DefaultResolver::new();
5778 let endpoint = resolver.resolve_endpoint(¶ms);
5779 let error = endpoint.expect_err("expected error: Partition does not support FIPS [access point arn + FIPS@cn-north-1]");
5780 assert_eq!(format!("{}", error), "Partition does not support FIPS")
5781 }
5782
5783 #[test]
5785 fn test_208() {
5786 let params = crate::config::endpoint::Params::builder()
5787 .accelerate(true)
5788 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5789 .force_path_style(false)
5790 .region("cn-north-1".to_string())
5791 .use_dual_stack(false)
5792 .use_fips(false)
5793 .build()
5794 .expect("invalid params");
5795 let resolver = crate::config::endpoint::DefaultResolver::new();
5796 let endpoint = resolver.resolve_endpoint(¶ms);
5797 let error =
5798 endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@cn-north-1]");
5799 assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
5800 }
5801
5802 #[test]
5804 fn test_209() {
5805 let params = crate::config::endpoint::Params::builder()
5806 .accelerate(false)
5807 .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
5808 .force_path_style(false)
5809 .region("cn-north-1".to_string())
5810 .use_dual_stack(true)
5811 .use_fips(true)
5812 .build()
5813 .expect("invalid params");
5814 let resolver = crate::config::endpoint::DefaultResolver::new();
5815 let endpoint = resolver.resolve_endpoint(¶ms);
5816 let error = endpoint.expect_err("expected error: Partition does not support FIPS [access point arn + FIPS + DualStack@cn-north-1]");
5817 assert_eq!(format!("{}", error), "Partition does not support FIPS")
5818 }
5819
5820 #[test]
5822 fn test_210() {
5823 let params = crate::config::endpoint::Params::builder()
5824 .accelerate(false)
5825 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5826 .force_path_style(false)
5827 .region("af-south-1".to_string())
5828 .use_dual_stack(false)
5829 .use_fips(false)
5830 .build()
5831 .expect("invalid params");
5832 let resolver = crate::config::endpoint::DefaultResolver::new();
5833 let endpoint = resolver.resolve_endpoint(¶ms);
5834 let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com");
5835 assert_eq!(
5836 endpoint,
5837 ::aws_smithy_types::endpoint::Endpoint::builder()
5838 .url("https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com")
5839 .property(
5840 "authSchemes",
5841 vec![::aws_smithy_types::Document::from({
5842 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5843 out.insert("name".to_string(), "sigv4".to_string().into());
5844 out.insert("signingName".to_string(), "s3".to_string().into());
5845 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5846 out.insert("disableDoubleEncoding".to_string(), true.into());
5847 out
5848 })]
5849 )
5850 .build()
5851 );
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(true)
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-fips.af-south-1.amazonaws.com");
5869 assert_eq!(
5870 endpoint,
5871 ::aws_smithy_types::endpoint::Endpoint::builder()
5872 .url("https://myendpoint-123456789012.s3-accesspoint-fips.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(true)
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(false)
5898 .build()
5899 .expect("invalid params");
5900 let resolver = crate::config::endpoint::DefaultResolver::new();
5901 let endpoint = resolver.resolve_endpoint(¶ms);
5902 let error =
5903 endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@af-south-1]");
5904 assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
5905 }
5906
5907 #[test]
5909 fn test_213() {
5910 let params = crate::config::endpoint::Params::builder()
5911 .accelerate(false)
5912 .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
5913 .force_path_style(false)
5914 .region("af-south-1".to_string())
5915 .use_dual_stack(true)
5916 .use_fips(true)
5917 .build()
5918 .expect("invalid params");
5919 let resolver = crate::config::endpoint::DefaultResolver::new();
5920 let endpoint = resolver.resolve_endpoint(¶ms);
5921 let endpoint =
5922 endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com");
5923 assert_eq!(
5924 endpoint,
5925 ::aws_smithy_types::endpoint::Endpoint::builder()
5926 .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com")
5927 .property(
5928 "authSchemes",
5929 vec![::aws_smithy_types::Document::from({
5930 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5931 out.insert("name".to_string(), "sigv4".to_string().into());
5932 out.insert("signingName".to_string(), "s3".to_string().into());
5933 out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
5934 out.insert("disableDoubleEncoding".to_string(), true.into());
5935 out
5936 })]
5937 )
5938 .build()
5939 );
5940 }
5941
5942 #[test]
5944 fn test_214() {
5945 let params = crate::config::endpoint::Params::builder()
5946 .region("us-west-2".to_string())
5947 .use_fips(false)
5948 .use_dual_stack(false)
5949 .accelerate(false)
5950 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
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://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com");
5957 assert_eq!(
5958 endpoint,
5959 ::aws_smithy_types::endpoint::Endpoint::builder()
5960 .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com")
5961 .property(
5962 "authSchemes",
5963 vec![
5964 ::aws_smithy_types::Document::from({
5965 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5966 out.insert("name".to_string(), "sigv4a".to_string().into());
5967 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
5968 out.insert(
5969 "signingRegionSet".to_string(),
5970 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
5971 );
5972 out.insert("disableDoubleEncoding".to_string(), true.into());
5973 out
5974 }),
5975 ::aws_smithy_types::Document::from({
5976 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
5977 out.insert("name".to_string(), "sigv4".to_string().into());
5978 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
5979 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
5980 out.insert("disableDoubleEncoding".to_string(), true.into());
5981 out
5982 })
5983 ]
5984 )
5985 .build()
5986 );
5987 }
5988
5989 #[test]
5991 fn test_215() {
5992 let params = crate::config::endpoint::Params::builder()
5993 .region("us-west-2".to_string())
5994 .use_fips(false)
5995 .use_dual_stack(false)
5996 .accelerate(false)
5997 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
5998 .endpoint("https://example.amazonaws.com".to_string())
5999 .build()
6000 .expect("invalid params");
6001 let resolver = crate::config::endpoint::DefaultResolver::new();
6002 let endpoint = resolver.resolve_endpoint(¶ms);
6003 let endpoint = endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.example.amazonaws.com");
6004 assert_eq!(
6005 endpoint,
6006 ::aws_smithy_types::endpoint::Endpoint::builder()
6007 .url("https://reports-123456789012.op-01234567890123456.example.amazonaws.com")
6008 .property(
6009 "authSchemes",
6010 vec![
6011 ::aws_smithy_types::Document::from({
6012 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6013 out.insert("name".to_string(), "sigv4a".to_string().into());
6014 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6015 out.insert(
6016 "signingRegionSet".to_string(),
6017 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6018 );
6019 out.insert("disableDoubleEncoding".to_string(), true.into());
6020 out
6021 }),
6022 ::aws_smithy_types::Document::from({
6023 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6024 out.insert("name".to_string(), "sigv4".to_string().into());
6025 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6026 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6027 out.insert("disableDoubleEncoding".to_string(), true.into());
6028 out
6029 })
6030 ]
6031 )
6032 .build()
6033 );
6034 }
6035
6036 #[test]
6038 fn test_216() {
6039 let params = crate::config::endpoint::Params::builder()
6040 .accelerate(false)
6041 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6042 .force_path_style(false)
6043 .use_arn_region(false)
6044 .region("us-west-2".to_string())
6045 .use_dual_stack(false)
6046 .use_fips(false)
6047 .build()
6048 .expect("invalid params");
6049 let resolver = crate::config::endpoint::DefaultResolver::new();
6050 let endpoint = resolver.resolve_endpoint(¶ms);
6051 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]");
6052 assert_eq!(
6053 format!("{}", error),
6054 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
6055 )
6056 }
6057
6058 #[test]
6060 fn test_217() {
6061 let params = crate::config::endpoint::Params::builder()
6062 .accelerate(false)
6063 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6064 .endpoint("https://example.com".to_string())
6065 .force_path_style(false)
6066 .use_arn_region(false)
6067 .region("us-west-2".to_string())
6068 .use_dual_stack(false)
6069 .use_fips(false)
6070 .build()
6071 .expect("invalid params");
6072 let resolver = crate::config::endpoint::DefaultResolver::new();
6073 let endpoint = resolver.resolve_endpoint(¶ms);
6074 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]");
6075 assert_eq!(
6076 format!("{}", error),
6077 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
6078 )
6079 }
6080
6081 #[test]
6083 fn test_218() {
6084 let params = crate::config::endpoint::Params::builder()
6085 .accelerate(false)
6086 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6087 .force_path_style(false)
6088 .use_arn_region(true)
6089 .region("us-west-2".to_string())
6090 .use_dual_stack(false)
6091 .use_fips(false)
6092 .build()
6093 .expect("invalid params");
6094 let resolver = crate::config::endpoint::DefaultResolver::new();
6095 let endpoint = resolver.resolve_endpoint(¶ms);
6096 let endpoint =
6097 endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
6098 assert_eq!(
6099 endpoint,
6100 ::aws_smithy_types::endpoint::Endpoint::builder()
6101 .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
6102 .property(
6103 "authSchemes",
6104 vec![
6105 ::aws_smithy_types::Document::from({
6106 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6107 out.insert("name".to_string(), "sigv4a".to_string().into());
6108 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6109 out.insert(
6110 "signingRegionSet".to_string(),
6111 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6112 );
6113 out.insert("disableDoubleEncoding".to_string(), true.into());
6114 out
6115 }),
6116 ::aws_smithy_types::Document::from({
6117 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6118 out.insert("name".to_string(), "sigv4".to_string().into());
6119 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6120 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6121 out.insert("disableDoubleEncoding".to_string(), true.into());
6122 out
6123 })
6124 ]
6125 )
6126 .build()
6127 );
6128 }
6129
6130 #[test]
6132 fn test_219() {
6133 let params = crate::config::endpoint::Params::builder()
6134 .accelerate(false)
6135 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6136 .force_path_style(false)
6137 .region("us-west-2".to_string())
6138 .use_dual_stack(false)
6139 .use_fips(false)
6140 .build()
6141 .expect("invalid params");
6142 let resolver = crate::config::endpoint::DefaultResolver::new();
6143 let endpoint = resolver.resolve_endpoint(¶ms);
6144 let endpoint =
6145 endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
6146 assert_eq!(
6147 endpoint,
6148 ::aws_smithy_types::endpoint::Endpoint::builder()
6149 .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
6150 .property(
6151 "authSchemes",
6152 vec![
6153 ::aws_smithy_types::Document::from({
6154 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6155 out.insert("name".to_string(), "sigv4a".to_string().into());
6156 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6157 out.insert(
6158 "signingRegionSet".to_string(),
6159 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6160 );
6161 out.insert("disableDoubleEncoding".to_string(), true.into());
6162 out
6163 }),
6164 ::aws_smithy_types::Document::from({
6165 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6166 out.insert("name".to_string(), "sigv4".to_string().into());
6167 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6168 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6169 out.insert("disableDoubleEncoding".to_string(), true.into());
6170 out
6171 })
6172 ]
6173 )
6174 .build()
6175 );
6176 }
6177
6178 #[test]
6180 fn test_220() {
6181 let params = crate::config::endpoint::Params::builder()
6182 .accelerate(false)
6183 .bucket("arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
6184 .force_path_style(false)
6185 .use_arn_region(true)
6186 .region("us-west-2".to_string())
6187 .use_dual_stack(false)
6188 .use_fips(false)
6189 .build()
6190 .expect("invalid params");
6191 let resolver = crate::config::endpoint::DefaultResolver::new();
6192 let endpoint = resolver.resolve_endpoint(¶ms);
6193 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]");
6194 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`")
6195 }
6196
6197 #[test]
6199 fn test_221() {
6200 let params = crate::config::endpoint::Params::builder()
6201 .region("us-east-1".to_string())
6202 .use_global_endpoint(true)
6203 .use_fips(false)
6204 .use_dual_stack(false)
6205 .accelerate(false)
6206 .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6207 .build()
6208 .expect("invalid params");
6209 let resolver = crate::config::endpoint::DefaultResolver::new();
6210 let endpoint = resolver.resolve_endpoint(¶ms);
6211 let endpoint =
6212 endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
6213 assert_eq!(
6214 endpoint,
6215 ::aws_smithy_types::endpoint::Endpoint::builder()
6216 .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
6217 .property(
6218 "authSchemes",
6219 vec![
6220 ::aws_smithy_types::Document::from({
6221 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6222 out.insert("name".to_string(), "sigv4a".to_string().into());
6223 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6224 out.insert(
6225 "signingRegionSet".to_string(),
6226 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
6227 );
6228 out.insert("disableDoubleEncoding".to_string(), true.into());
6229 out
6230 }),
6231 ::aws_smithy_types::Document::from({
6232 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6233 out.insert("name".to_string(), "sigv4".to_string().into());
6234 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
6235 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6236 out.insert("disableDoubleEncoding".to_string(), true.into());
6237 out
6238 })
6239 ]
6240 )
6241 .build()
6242 );
6243 }
6244
6245 #[test]
6247 fn test_222() {
6248 let params = crate::config::endpoint::Params::builder()
6249 .region("us-east-1".to_string())
6250 .use_fips(false)
6251 .use_dual_stack(true)
6252 .accelerate(false)
6253 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6254 .build()
6255 .expect("invalid params");
6256 let resolver = crate::config::endpoint::DefaultResolver::new();
6257 let endpoint = resolver.resolve_endpoint(¶ms);
6258 let error = endpoint.expect_err("expected error: S3 Outposts does not support Dual-stack [S3 outposts does not support dualstack]");
6259 assert_eq!(format!("{}", error), "S3 Outposts does not support Dual-stack")
6260 }
6261
6262 #[test]
6264 fn test_223() {
6265 let params = crate::config::endpoint::Params::builder()
6266 .region("us-east-1".to_string())
6267 .use_fips(true)
6268 .use_dual_stack(false)
6269 .accelerate(false)
6270 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
6271 .build()
6272 .expect("invalid params");
6273 let resolver = crate::config::endpoint::DefaultResolver::new();
6274 let endpoint = resolver.resolve_endpoint(¶ms);
6275 let error = endpoint.expect_err("expected error: S3 Outposts does not support FIPS [S3 outposts does not support fips]");
6276 assert_eq!(format!("{}", error), "S3 Outposts does not support FIPS")
6277 }
6278
6279 #[test]
6281 fn test_224() {
6282 let params = crate::config::endpoint::Params::builder()
6283 .region("us-east-1".to_string())
6284 .use_fips(false)
6285 .use_dual_stack(false)
6286 .accelerate(true)
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 S3 Accelerate [S3 outposts does not support accelerate]");
6293 assert_eq!(format!("{}", error), "S3 Outposts does not support S3 Accelerate")
6294 }
6295
6296 #[test]
6298 fn test_225() {
6299 let params = crate::config::endpoint::Params::builder()
6300 .region("us-west-2".to_string())
6301 .use_fips(false)
6302 .use_dual_stack(false)
6303 .accelerate(false)
6304 .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:mybucket:object:foo".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 =
6310 endpoint.expect_err("expected error: Invalid Arn: Outpost Access Point ARN contains sub resources [validates against subresource]");
6311 assert_eq!(format!("{}", error), "Invalid Arn: Outpost Access Point ARN contains sub resources")
6312 }
6313
6314 #[test]
6316 fn test_226() {
6317 let params = crate::config::endpoint::Params::builder()
6318 .region("us-east-1".to_string())
6319 .use_fips(false)
6320 .use_dual_stack(false)
6321 .accelerate(false)
6322 .use_arn_region(false)
6323 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6324 .build()
6325 .expect("invalid params");
6326 let resolver = crate::config::endpoint::DefaultResolver::new();
6327 let endpoint = resolver.resolve_endpoint(¶ms);
6328 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
6329 assert_eq!(
6330 endpoint,
6331 ::aws_smithy_types::endpoint::Endpoint::builder()
6332 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
6333 .property(
6334 "authSchemes",
6335 vec![::aws_smithy_types::Document::from({
6336 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6337 out.insert("name".to_string(), "sigv4".to_string().into());
6338 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6339 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6340 out.insert("disableDoubleEncoding".to_string(), true.into());
6341 out
6342 })]
6343 )
6344 .build()
6345 );
6346 }
6347
6348 #[test]
6350 fn test_227() {
6351 let params = crate::config::endpoint::Params::builder()
6352 .region("us-west-2".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-west-2: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-west-2.amazonaws.com");
6363 assert_eq!(
6364 endpoint,
6365 ::aws_smithy_types::endpoint::Endpoint::builder()
6366 .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.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-west-2".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(true)
6425 .bucket("arn:aws:s3-object-lambda:us-east-1: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-east-1.amazonaws.com");
6431 assert_eq!(
6432 endpoint,
6433 ::aws_smithy_types::endpoint::Endpoint::builder()
6434 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.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-east-1".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("s3-external-1".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(false)
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 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]");
6499 assert_eq!(
6500 format!("{}", error),
6501 "Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`"
6502 )
6503 }
6504
6505 #[test]
6507 fn test_232() {
6508 let params = crate::config::endpoint::Params::builder()
6509 .region("aws-global".to_string())
6510 .use_fips(false)
6511 .use_dual_stack(false)
6512 .accelerate(false)
6513 .use_arn_region(true)
6514 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6515 .build()
6516 .expect("invalid params");
6517 let resolver = crate::config::endpoint::DefaultResolver::new();
6518 let endpoint = resolver.resolve_endpoint(¶ms);
6519 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
6520 assert_eq!(
6521 endpoint,
6522 ::aws_smithy_types::endpoint::Endpoint::builder()
6523 .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
6524 .property(
6525 "authSchemes",
6526 vec![::aws_smithy_types::Document::from({
6527 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6528 out.insert("name".to_string(), "sigv4".to_string().into());
6529 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6530 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
6531 out.insert("disableDoubleEncoding".to_string(), true.into());
6532 out
6533 })]
6534 )
6535 .build()
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(false)
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 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]");
6554 assert_eq!(
6555 format!("{}", error),
6556 "Invalid configuration: region from ARN `us-east-1` does not match client region `aws-global` and UseArnRegion is `false`"
6557 )
6558 }
6559
6560 #[test]
6562 fn test_234() {
6563 let params = crate::config::endpoint::Params::builder()
6564 .region("aws-global".to_string())
6565 .use_fips(false)
6566 .use_dual_stack(false)
6567 .accelerate(false)
6568 .use_arn_region(true)
6569 .bucket("arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner".to_string())
6570 .build()
6571 .expect("invalid params");
6572 let resolver = crate::config::endpoint::DefaultResolver::new();
6573 let endpoint = resolver.resolve_endpoint(¶ms);
6574 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]");
6575 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`")
6576 }
6577
6578 #[test]
6580 fn test_235() {
6581 let params = crate::config::endpoint::Params::builder()
6582 .region("us-west-2".to_string())
6583 .use_fips(false)
6584 .use_dual_stack(true)
6585 .accelerate(false)
6586 .use_arn_region(false)
6587 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6588 .build()
6589 .expect("invalid params");
6590 let resolver = crate::config::endpoint::DefaultResolver::new();
6591 let endpoint = resolver.resolve_endpoint(¶ms);
6592 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support Dual-stack [object lambda with dualstack]");
6593 assert_eq!(format!("{}", error), "S3 Object Lambda does not support Dual-stack")
6594 }
6595
6596 #[test]
6598 fn test_236() {
6599 let params = crate::config::endpoint::Params::builder()
6600 .region("us-gov-east-1".to_string())
6601 .use_fips(false)
6602 .use_dual_stack(false)
6603 .accelerate(false)
6604 .use_arn_region(false)
6605 .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
6606 .build()
6607 .expect("invalid params");
6608 let resolver = crate::config::endpoint::DefaultResolver::new();
6609 let endpoint = resolver.resolve_endpoint(¶ms);
6610 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com");
6611 assert_eq!(
6612 endpoint,
6613 ::aws_smithy_types::endpoint::Endpoint::builder()
6614 .url("https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com")
6615 .property(
6616 "authSchemes",
6617 vec![::aws_smithy_types::Document::from({
6618 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6619 out.insert("name".to_string(), "sigv4".to_string().into());
6620 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6621 out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
6622 out.insert("disableDoubleEncoding".to_string(), true.into());
6623 out
6624 })]
6625 )
6626 .build()
6627 );
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(true)
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-fips.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-fips.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("cn-north-1".to_string())
6669 .use_fips(true)
6670 .use_dual_stack(false)
6671 .accelerate(false)
6672 .use_arn_region(false)
6673 .bucket("arn:aws-cn:s3-object-lambda:cn-north-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 error = endpoint.expect_err("expected error: Partition does not support FIPS [object lambda @cn-north-1, with fips]");
6679 assert_eq!(format!("{}", error), "Partition does not support FIPS")
6680 }
6681
6682 #[test]
6684 fn test_239() {
6685 let params = crate::config::endpoint::Params::builder()
6686 .region("us-west-2".to_string())
6687 .use_fips(false)
6688 .use_dual_stack(false)
6689 .accelerate(true)
6690 .use_arn_region(false)
6691 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6692 .build()
6693 .expect("invalid params");
6694 let resolver = crate::config::endpoint::DefaultResolver::new();
6695 let endpoint = resolver.resolve_endpoint(¶ms);
6696 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support S3 Accelerate [object lambda with accelerate]");
6697 assert_eq!(format!("{}", error), "S3 Object Lambda does not support S3 Accelerate")
6698 }
6699
6700 #[test]
6702 fn test_240() {
6703 let params = crate::config::endpoint::Params::builder()
6704 .region("us-west-2".to_string())
6705 .use_fips(false)
6706 .use_dual_stack(false)
6707 .accelerate(false)
6708 .use_arn_region(false)
6709 .bucket("arn:aws:sqs:us-west-2:123456789012:someresource".to_string())
6710 .build()
6711 .expect("invalid params");
6712 let resolver = crate::config::endpoint::DefaultResolver::new();
6713 let endpoint = resolver.resolve_endpoint(¶ms);
6714 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]");
6715 assert_eq!(
6716 format!("{}", error),
6717 "Invalid ARN: Unrecognized format: arn:aws:sqs:us-west-2:123456789012:someresource (type: someresource)"
6718 )
6719 }
6720
6721 #[test]
6723 fn test_241() {
6724 let params = crate::config::endpoint::Params::builder()
6725 .region("us-west-2".to_string())
6726 .use_fips(false)
6727 .use_dual_stack(false)
6728 .accelerate(false)
6729 .use_arn_region(false)
6730 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:bucket_name:mybucket".to_string())
6731 .build()
6732 .expect("invalid params");
6733 let resolver = crate::config::endpoint::DefaultResolver::new();
6734 let endpoint = resolver.resolve_endpoint(¶ms);
6735 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]");
6736 assert_eq!(
6737 format!("{}", error),
6738 "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `bucket_name`"
6739 )
6740 }
6741
6742 #[test]
6744 fn test_242() {
6745 let params = crate::config::endpoint::Params::builder()
6746 .region("us-west-2".to_string())
6747 .use_fips(false)
6748 .use_dual_stack(false)
6749 .accelerate(false)
6750 .use_arn_region(false)
6751 .bucket("arn:aws:s3-object-lambda::123456789012:accesspoint/mybanner".to_string())
6752 .build()
6753 .expect("invalid params");
6754 let resolver = crate::config::endpoint::DefaultResolver::new();
6755 let endpoint = resolver.resolve_endpoint(¶ms);
6756 let error =
6757 endpoint.expect_err("expected error: Invalid ARN: bucket ARN is missing a region [object lambda with invalid arn - missing region]");
6758 assert_eq!(format!("{}", error), "Invalid ARN: bucket ARN is missing a region")
6759 }
6760
6761 #[test]
6763 fn test_243() {
6764 let params = crate::config::endpoint::Params::builder()
6765 .region("us-west-2".to_string())
6766 .use_fips(false)
6767 .use_dual_stack(false)
6768 .accelerate(false)
6769 .use_arn_region(true)
6770 .bucket("arn:aws:s3-object-lambda:us-west-2::accesspoint/mybanner".to_string())
6771 .build()
6772 .expect("invalid params");
6773 let resolver = crate::config::endpoint::DefaultResolver::new();
6774 let endpoint = resolver.resolve_endpoint(¶ms);
6775 let error = endpoint.expect_err("expected error: Invalid ARN: Missing account id [object lambda with invalid arn - missing account-id]");
6776 assert_eq!(format!("{}", error), "Invalid ARN: Missing account id")
6777 }
6778
6779 #[test]
6781 fn test_244() {
6782 let params = crate::config::endpoint::Params::builder()
6783 .region("us-west-2".to_string())
6784 .use_fips(false)
6785 .use_dual_stack(false)
6786 .accelerate(false)
6787 .use_arn_region(true)
6788 .bucket("arn:aws:s3-object-lambda:us-west-2:123.45678.9012:accesspoint:mybucket".to_string())
6789 .build()
6790 .expect("invalid params");
6791 let resolver = crate::config::endpoint::DefaultResolver::new();
6792 let endpoint = resolver.resolve_endpoint(¶ms);
6793 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]");
6794 assert_eq!(
6795 format!("{}", error),
6796 "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123.45678.9012`"
6797 )
6798 }
6799
6800 #[test]
6802 fn test_245() {
6803 let params = crate::config::endpoint::Params::builder()
6804 .region("us-west-2".to_string())
6805 .use_fips(false)
6806 .use_dual_stack(false)
6807 .accelerate(false)
6808 .use_arn_region(true)
6809 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint".to_string())
6810 .build()
6811 .expect("invalid params");
6812 let resolver = crate::config::endpoint::DefaultResolver::new();
6813 let endpoint = resolver.resolve_endpoint(¶ms);
6814 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]");
6815 assert_eq!(
6816 format!("{}", error),
6817 "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided"
6818 )
6819 }
6820
6821 #[test]
6823 fn test_246() {
6824 let params = crate::config::endpoint::Params::builder()
6825 .region("us-west-2".to_string())
6826 .use_fips(false)
6827 .use_dual_stack(false)
6828 .accelerate(false)
6829 .use_arn_region(true)
6830 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:*".to_string())
6831 .build()
6832 .expect("invalid params");
6833 let resolver = crate::config::endpoint::DefaultResolver::new();
6834 let endpoint = resolver.resolve_endpoint(¶ms);
6835 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: *]");
6836 assert_eq!(
6837 format!("{}", error),
6838 "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `*`"
6839 )
6840 }
6841
6842 #[test]
6844 fn test_247() {
6845 let params = crate::config::endpoint::Params::builder()
6846 .region("us-west-2".to_string())
6847 .use_fips(false)
6848 .use_dual_stack(false)
6849 .accelerate(false)
6850 .use_arn_region(true)
6851 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:my.bucket".to_string())
6852 .build()
6853 .expect("invalid params");
6854 let resolver = crate::config::endpoint::DefaultResolver::new();
6855 let endpoint = resolver.resolve_endpoint(¶ms);
6856 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: .]");
6857 assert_eq!(
6858 format!("{}", error),
6859 "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `my.bucket`"
6860 )
6861 }
6862
6863 #[test]
6865 fn test_248() {
6866 let params = crate::config::endpoint::Params::builder()
6867 .region("us-west-2".to_string())
6868 .use_fips(false)
6869 .use_dual_stack(false)
6870 .accelerate(false)
6871 .use_arn_region(true)
6872 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybucket:object:foo".to_string())
6873 .build()
6874 .expect("invalid params");
6875 let resolver = crate::config::endpoint::DefaultResolver::new();
6876 let endpoint = resolver.resolve_endpoint(¶ms);
6877 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]");
6878 assert_eq!(
6879 format!("{}", error),
6880 "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."
6881 )
6882 }
6883
6884 #[test]
6886 fn test_249() {
6887 let params = crate::config::endpoint::Params::builder()
6888 .region("us-west-2".to_string())
6889 .use_fips(false)
6890 .use_dual_stack(false)
6891 .accelerate(false)
6892 .use_arn_region(false)
6893 .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
6894 .endpoint("https://my-endpoint.com".to_string())
6895 .build()
6896 .expect("invalid params");
6897 let resolver = crate::config::endpoint::DefaultResolver::new();
6898 let endpoint = resolver.resolve_endpoint(¶ms);
6899 let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.my-endpoint.com");
6900 assert_eq!(
6901 endpoint,
6902 ::aws_smithy_types::endpoint::Endpoint::builder()
6903 .url("https://mybanner-123456789012.my-endpoint.com")
6904 .property(
6905 "authSchemes",
6906 vec![::aws_smithy_types::Document::from({
6907 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6908 out.insert("name".to_string(), "sigv4".to_string().into());
6909 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6910 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6911 out.insert("disableDoubleEncoding".to_string(), true.into());
6912 out
6913 })]
6914 )
6915 .build()
6916 );
6917 }
6918
6919 #[test]
6921 fn test_250() {
6922 let params = crate::config::endpoint::Params::builder()
6923 .accelerate(false)
6924 .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
6925 .force_path_style(false)
6926 .use_arn_region(false)
6927 .region("us-west-2".to_string())
6928 .use_dual_stack(false)
6929 .use_fips(false)
6930 .build()
6931 .expect("invalid params");
6932 let resolver = crate::config::endpoint::DefaultResolver::new();
6933 let endpoint = resolver.resolve_endpoint(¶ms);
6934 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]");
6935 assert_eq!(
6936 format!("{}", error),
6937 "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
6938 )
6939 }
6940
6941 #[test]
6943 fn test_251() {
6944 let params = crate::config::endpoint::Params::builder()
6945 .accelerate(false)
6946 .use_object_lambda_endpoint(true)
6947 .region("us-west-2".to_string())
6948 .use_dual_stack(false)
6949 .use_fips(false)
6950 .build()
6951 .expect("invalid params");
6952 let resolver = crate::config::endpoint::DefaultResolver::new();
6953 let endpoint = resolver.resolve_endpoint(¶ms);
6954 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-west-2.amazonaws.com");
6955 assert_eq!(
6956 endpoint,
6957 ::aws_smithy_types::endpoint::Endpoint::builder()
6958 .url("https://s3-object-lambda.us-west-2.amazonaws.com")
6959 .property(
6960 "authSchemes",
6961 vec![::aws_smithy_types::Document::from({
6962 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
6963 out.insert("name".to_string(), "sigv4".to_string().into());
6964 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
6965 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
6966 out.insert("disableDoubleEncoding".to_string(), true.into());
6967 out
6968 })]
6969 )
6970 .build()
6971 );
6972 }
6973
6974 #[test]
6976 fn test_252() {
6977 let params = crate::config::endpoint::Params::builder()
6978 .accelerate(false)
6979 .use_object_lambda_endpoint(true)
6980 .endpoint("https://my-endpoint.com".to_string())
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://my-endpoint.com");
6989 assert_eq!(
6990 endpoint,
6991 ::aws_smithy_types::endpoint::Endpoint::builder()
6992 .url("https://my-endpoint.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 .region("us-east-1".to_string())
7015 .use_dual_stack(false)
7016 .use_fips(false)
7017 .build()
7018 .expect("invalid params");
7019 let resolver = crate::config::endpoint::DefaultResolver::new();
7020 let endpoint = resolver.resolve_endpoint(¶ms);
7021 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east-1.amazonaws.com");
7022 assert_eq!(
7023 endpoint,
7024 ::aws_smithy_types::endpoint::Endpoint::builder()
7025 .url("https://s3-object-lambda.us-east-1.amazonaws.com")
7026 .property(
7027 "authSchemes",
7028 vec![::aws_smithy_types::Document::from({
7029 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7030 out.insert("name".to_string(), "sigv4".to_string().into());
7031 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7032 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7033 out.insert("disableDoubleEncoding".to_string(), true.into());
7034 out
7035 })]
7036 )
7037 .build()
7038 );
7039 }
7040
7041 #[test]
7043 fn test_254() {
7044 let params = crate::config::endpoint::Params::builder()
7045 .accelerate(false)
7046 .use_object_lambda_endpoint(true)
7047 .region("us-east-1".to_string())
7048 .use_dual_stack(false)
7049 .use_fips(true)
7050 .build()
7051 .expect("invalid params");
7052 let resolver = crate::config::endpoint::DefaultResolver::new();
7053 let endpoint = resolver.resolve_endpoint(¶ms);
7054 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda-fips.us-east-1.amazonaws.com");
7055 assert_eq!(
7056 endpoint,
7057 ::aws_smithy_types::endpoint::Endpoint::builder()
7058 .url("https://s3-object-lambda-fips.us-east-1.amazonaws.com")
7059 .property(
7060 "authSchemes",
7061 vec![::aws_smithy_types::Document::from({
7062 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7063 out.insert("name".to_string(), "sigv4".to_string().into());
7064 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7065 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7066 out.insert("disableDoubleEncoding".to_string(), true.into());
7067 out
7068 })]
7069 )
7070 .build()
7071 );
7072 }
7073
7074 #[test]
7076 fn test_255() {
7077 let params = crate::config::endpoint::Params::builder()
7078 .accelerate(false)
7079 .use_object_lambda_endpoint(true)
7080 .region("us-east-1".to_string())
7081 .use_dual_stack(true)
7082 .use_fips(false)
7083 .build()
7084 .expect("invalid params");
7085 let resolver = crate::config::endpoint::DefaultResolver::new();
7086 let endpoint = resolver.resolve_endpoint(¶ms);
7087 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support Dual-stack [WriteGetObjectResponse with dualstack]");
7088 assert_eq!(format!("{}", error), "S3 Object Lambda does not support Dual-stack")
7089 }
7090
7091 #[test]
7093 fn test_256() {
7094 let params = crate::config::endpoint::Params::builder()
7095 .accelerate(true)
7096 .use_object_lambda_endpoint(true)
7097 .region("us-east-1".to_string())
7098 .use_dual_stack(false)
7099 .use_fips(false)
7100 .build()
7101 .expect("invalid params");
7102 let resolver = crate::config::endpoint::DefaultResolver::new();
7103 let endpoint = resolver.resolve_endpoint(¶ms);
7104 let error = endpoint.expect_err("expected error: S3 Object Lambda does not support S3 Accelerate [WriteGetObjectResponse with accelerate]");
7105 assert_eq!(format!("{}", error), "S3 Object Lambda does not support S3 Accelerate")
7106 }
7107
7108 #[test]
7110 fn test_257() {
7111 let params = crate::config::endpoint::Params::builder()
7112 .accelerate(false)
7113 .region("cn-north-1".to_string())
7114 .use_object_lambda_endpoint(true)
7115 .use_dual_stack(false)
7116 .use_fips(true)
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: Partition does not support FIPS [WriteGetObjectResponse with fips in CN]");
7122 assert_eq!(format!("{}", error), "Partition does not support FIPS")
7123 }
7124
7125 #[test]
7127 fn test_258() {
7128 let params = crate::config::endpoint::Params::builder()
7129 .accelerate(false)
7130 .use_object_lambda_endpoint(true)
7131 .region("not a valid DNS name".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 =
7139 endpoint.expect_err("expected error: Invalid region: region was not a valid DNS name. [WriteGetObjectResponse with invalid partition]");
7140 assert_eq!(format!("{}", error), "Invalid region: region was not a valid DNS name.")
7141 }
7142
7143 #[test]
7145 fn test_259() {
7146 let params = crate::config::endpoint::Params::builder()
7147 .accelerate(false)
7148 .use_object_lambda_endpoint(true)
7149 .region("us-east.special".to_string())
7150 .use_dual_stack(false)
7151 .use_fips(false)
7152 .build()
7153 .expect("invalid params");
7154 let resolver = crate::config::endpoint::DefaultResolver::new();
7155 let endpoint = resolver.resolve_endpoint(¶ms);
7156 let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east.special.amazonaws.com");
7157 assert_eq!(
7158 endpoint,
7159 ::aws_smithy_types::endpoint::Endpoint::builder()
7160 .url("https://s3-object-lambda.us-east.special.amazonaws.com")
7161 .property(
7162 "authSchemes",
7163 vec![::aws_smithy_types::Document::from({
7164 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7165 out.insert("name".to_string(), "sigv4".to_string().into());
7166 out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
7167 out.insert("disableDoubleEncoding".to_string(), true.into());
7168 out.insert("signingRegion".to_string(), "us-east.special".to_string().into());
7169 out
7170 })]
7171 )
7172 .build()
7173 );
7174 }
7175
7176 #[test]
7178 fn test_260() {
7179 let params = crate::config::endpoint::Params::builder()
7180 .region("us-west-1".to_string())
7181 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7182 .use_fips(false)
7183 .use_dual_stack(false)
7184 .accelerate(false)
7185 .build()
7186 .expect("invalid params");
7187 let resolver = crate::config::endpoint::DefaultResolver::new();
7188 let endpoint = resolver.resolve_endpoint(¶ms);
7189 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com");
7190 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")
7191 .property("authSchemes", vec![::aws_smithy_types::Document::from( {
7192 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7193 out.insert("name".to_string(), "sigv4a".to_string().into());
7194 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7195 out.insert("signingRegionSet".to_string(), vec![::aws_smithy_types::Document::from("*".to_string())].into());
7196 out.insert("disableDoubleEncoding".to_string(), true.into());
7197 out
7198 })
7199 ,::aws_smithy_types::Document::from( {
7200 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7201 out.insert("name".to_string(), "sigv4".to_string().into());
7202 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7203 out.insert("signingRegion".to_string(), "us-west-1".to_string().into());
7204 out.insert("disableDoubleEncoding".to_string(), true.into());
7205 out
7206 })])
7207 .build());
7208 }
7209
7210 #[test]
7212 fn test_261() {
7213 let params = crate::config::endpoint::Params::builder()
7214 .region("ap-east-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.ap-east-1.amazonaws.com");
7224 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")
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(), "ap-east-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("us-east-1".to_string())
7249 .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--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-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com");
7258 assert_eq!(
7259 endpoint,
7260 ::aws_smithy_types::endpoint::Endpoint::builder()
7261 .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com")
7262 .property(
7263 "authSchemes",
7264 vec![
7265 ::aws_smithy_types::Document::from({
7266 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7267 out.insert("name".to_string(), "sigv4a".to_string().into());
7268 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7269 out.insert(
7270 "signingRegionSet".to_string(),
7271 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7272 );
7273 out.insert("disableDoubleEncoding".to_string(), true.into());
7274 out
7275 }),
7276 ::aws_smithy_types::Document::from({
7277 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7278 out.insert("name".to_string(), "sigv4".to_string().into());
7279 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7280 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7281 out.insert("disableDoubleEncoding".to_string(), true.into());
7282 out
7283 })
7284 ]
7285 )
7286 .build()
7287 );
7288 }
7289
7290 #[test]
7292 fn test_263() {
7293 let params = crate::config::endpoint::Params::builder()
7294 .region("me-south-1".to_string())
7295 .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7296 .use_fips(false)
7297 .use_dual_stack(false)
7298 .accelerate(false)
7299 .build()
7300 .expect("invalid params");
7301 let resolver = crate::config::endpoint::DefaultResolver::new();
7302 let endpoint = resolver.resolve_endpoint(¶ms);
7303 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com");
7304 assert_eq!(
7305 endpoint,
7306 ::aws_smithy_types::endpoint::Endpoint::builder()
7307 .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com")
7308 .property(
7309 "authSchemes",
7310 vec![
7311 ::aws_smithy_types::Document::from({
7312 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7313 out.insert("name".to_string(), "sigv4a".to_string().into());
7314 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7315 out.insert(
7316 "signingRegionSet".to_string(),
7317 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7318 );
7319 out.insert("disableDoubleEncoding".to_string(), true.into());
7320 out
7321 }),
7322 ::aws_smithy_types::Document::from({
7323 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7324 out.insert("name".to_string(), "sigv4".to_string().into());
7325 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7326 out.insert("signingRegion".to_string(), "me-south-1".to_string().into());
7327 out.insert("disableDoubleEncoding".to_string(), true.into());
7328 out
7329 })
7330 ]
7331 )
7332 .build()
7333 );
7334 }
7335
7336 #[test]
7338 fn test_264() {
7339 let params = crate::config::endpoint::Params::builder()
7340 .region("us-east-1".to_string())
7341 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3".to_string())
7342 .endpoint("https://example.amazonaws.com".to_string())
7343 .use_fips(false)
7344 .use_dual_stack(false)
7345 .accelerate(false)
7346 .build()
7347 .expect("invalid params");
7348 let resolver = crate::config::endpoint::DefaultResolver::new();
7349 let endpoint = resolver.resolve_endpoint(¶ms);
7350 let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com");
7351 assert_eq!(
7352 endpoint,
7353 ::aws_smithy_types::endpoint::Endpoint::builder()
7354 .url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com")
7355 .property(
7356 "authSchemes",
7357 vec![
7358 ::aws_smithy_types::Document::from({
7359 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7360 out.insert("name".to_string(), "sigv4a".to_string().into());
7361 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7362 out.insert(
7363 "signingRegionSet".to_string(),
7364 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7365 );
7366 out.insert("disableDoubleEncoding".to_string(), true.into());
7367 out
7368 }),
7369 ::aws_smithy_types::Document::from({
7370 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7371 out.insert("name".to_string(), "sigv4".to_string().into());
7372 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7373 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7374 out.insert("disableDoubleEncoding".to_string(), true.into());
7375 out
7376 })
7377 ]
7378 )
7379 .build()
7380 );
7381 }
7382
7383 #[test]
7385 fn test_265() {
7386 let params = crate::config::endpoint::Params::builder()
7387 .region("us-east-1".to_string())
7388 .bucket("161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3".to_string())
7389 .endpoint("https://example.amazonaws.com".to_string())
7390 .use_fips(false)
7391 .use_dual_stack(false)
7392 .accelerate(false)
7393 .build()
7394 .expect("invalid params");
7395 let resolver = crate::config::endpoint::DefaultResolver::new();
7396 let endpoint = resolver.resolve_endpoint(¶ms);
7397 let endpoint = endpoint
7398 .expect("Expected valid endpoint: https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com");
7399 assert_eq!(
7400 endpoint,
7401 ::aws_smithy_types::endpoint::Endpoint::builder()
7402 .url("https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com")
7403 .property(
7404 "authSchemes",
7405 vec![
7406 ::aws_smithy_types::Document::from({
7407 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7408 out.insert("name".to_string(), "sigv4a".to_string().into());
7409 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7410 out.insert(
7411 "signingRegionSet".to_string(),
7412 vec![::aws_smithy_types::Document::from("*".to_string())].into(),
7413 );
7414 out.insert("disableDoubleEncoding".to_string(), true.into());
7415 out
7416 }),
7417 ::aws_smithy_types::Document::from({
7418 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7419 out.insert("name".to_string(), "sigv4".to_string().into());
7420 out.insert("signingName".to_string(), "s3-outposts".to_string().into());
7421 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7422 out.insert("disableDoubleEncoding".to_string(), true.into());
7423 out
7424 })
7425 ]
7426 )
7427 .build()
7428 );
7429 }
7430
7431 #[test]
7433 fn test_266() {
7434 let params = crate::config::endpoint::Params::builder()
7435 .region("us-east-1".to_string())
7436 .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3".to_string())
7437 .use_fips(false)
7438 .use_dual_stack(false)
7439 .accelerate(false)
7440 .build()
7441 .expect("invalid params");
7442 let resolver = crate::config::endpoint::DefaultResolver::new();
7443 let endpoint = resolver.resolve_endpoint(¶ms);
7444 let error = endpoint.expect_err(
7445 "expected error: Expected a endpoint to be specified but no endpoint was found [S3 Outposts bucketAlias - No endpoint set for beta]",
7446 );
7447 assert_eq!(format!("{}", error), "Expected a endpoint to be specified but no endpoint was found")
7448 }
7449
7450 #[test]
7452 fn test_267() {
7453 let params = crate::config::endpoint::Params::builder()
7454 .region("us-east-1".to_string())
7455 .bucket("test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7456 .use_fips(false)
7457 .use_dual_stack(false)
7458 .accelerate(false)
7459 .build()
7460 .expect("invalid params");
7461 let resolver = crate::config::endpoint::DefaultResolver::new();
7462 let endpoint = resolver.resolve_endpoint(¶ms);
7463 let error = endpoint.expect_err(
7464 "expected error: Unrecognized hardware type: \"Expected hardware type o or e but got h\" [S3 Outposts bucketAlias Invalid hardware type]",
7465 );
7466 assert_eq!(
7467 format!("{}", error),
7468 "Unrecognized hardware type: \"Expected hardware type o or e but got h\""
7469 )
7470 }
7471
7472 #[test]
7474 fn test_268() {
7475 let params = crate::config::endpoint::Params::builder()
7476 .region("us-east-1".to_string())
7477 .bucket("test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
7478 .use_fips(false)
7479 .use_dual_stack(false)
7480 .accelerate(false)
7481 .build()
7482 .expect("invalid params");
7483 let resolver = crate::config::endpoint::DefaultResolver::new();
7484 let endpoint = resolver.resolve_endpoint(¶ms);
7485 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]");
7486 assert_eq!(
7487 format!("{}", error),
7488 "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."
7489 )
7490 }
7491
7492 #[test]
7494 fn test_269() {
7495 let params = crate::config::endpoint::Params::builder()
7496 .region("us-east-1".to_string())
7497 .bucket("test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3".to_string())
7498 .use_fips(false)
7499 .use_dual_stack(false)
7500 .accelerate(false)
7501 .build()
7502 .expect("invalid params");
7503 let resolver = crate::config::endpoint::DefaultResolver::new();
7504 let endpoint = resolver.resolve_endpoint(¶ms);
7505 let error = endpoint.expect_err(
7506 "expected error: Expected a endpoint to be specified but no endpoint was found [S3 Outposts bucketAlias - No endpoint set for beta]",
7507 );
7508 assert_eq!(format!("{}", error), "Expected a endpoint to be specified but no endpoint was found")
7509 }
7510
7511 #[test]
7513 fn test_270() {
7514 let params = crate::config::endpoint::Params::builder()
7515 .region("snow".to_string())
7516 .bucket("bucketName".to_string())
7517 .endpoint("http://10.0.1.12:433".to_string())
7518 .use_fips(false)
7519 .use_dual_stack(false)
7520 .accelerate(false)
7521 .build()
7522 .expect("invalid params");
7523 let resolver = crate::config::endpoint::DefaultResolver::new();
7524 let endpoint = resolver.resolve_endpoint(¶ms);
7525 let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12:433/bucketName");
7526 assert_eq!(
7527 endpoint,
7528 ::aws_smithy_types::endpoint::Endpoint::builder()
7529 .url("http://10.0.1.12:433/bucketName")
7530 .property(
7531 "authSchemes",
7532 vec![::aws_smithy_types::Document::from({
7533 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7534 out.insert("name".to_string(), "sigv4".to_string().into());
7535 out.insert("signingName".to_string(), "s3".to_string().into());
7536 out.insert("signingRegion".to_string(), "snow".to_string().into());
7537 out.insert("disableDoubleEncoding".to_string(), true.into());
7538 out
7539 })]
7540 )
7541 .build()
7542 );
7543 }
7544
7545 #[test]
7547 fn test_271() {
7548 let params = crate::config::endpoint::Params::builder()
7549 .region("snow".to_string())
7550 .endpoint("https://10.0.1.12:433".to_string())
7551 .use_fips(false)
7552 .use_dual_stack(false)
7553 .accelerate(false)
7554 .build()
7555 .expect("invalid params");
7556 let resolver = crate::config::endpoint::DefaultResolver::new();
7557 let endpoint = resolver.resolve_endpoint(¶ms);
7558 let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.1.12:433");
7559 assert_eq!(
7560 endpoint,
7561 ::aws_smithy_types::endpoint::Endpoint::builder()
7562 .url("https://10.0.1.12:433")
7563 .property(
7564 "authSchemes",
7565 vec![::aws_smithy_types::Document::from({
7566 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7567 out.insert("name".to_string(), "sigv4".to_string().into());
7568 out.insert("signingName".to_string(), "s3".to_string().into());
7569 out.insert("signingRegion".to_string(), "snow".to_string().into());
7570 out.insert("disableDoubleEncoding".to_string(), true.into());
7571 out
7572 })]
7573 )
7574 .build()
7575 );
7576 }
7577
7578 #[test]
7580 fn test_272() {
7581 let params = crate::config::endpoint::Params::builder()
7582 .region("snow".to_string())
7583 .bucket("bucketName".to_string())
7584 .endpoint("http://10.0.1.12".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: http://10.0.1.12/bucketName");
7593 assert_eq!(
7594 endpoint,
7595 ::aws_smithy_types::endpoint::Endpoint::builder()
7596 .url("http://10.0.1.12/bucketName")
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("https://amazonaws.com".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: https://amazonaws.com/bucketName");
7627 assert_eq!(
7628 endpoint,
7629 ::aws_smithy_types::endpoint::Endpoint::builder()
7630 .url("https://amazonaws.com/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("us-east-1".to_string())
7651 .bucket("mybucket--use1-az1--x-s3".to_string())
7652 .use_fips(false)
7653 .use_dual_stack(false)
7654 .accelerate(false)
7655 .use_s3_express_control_endpoint(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://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com");
7661 assert_eq!(
7662 endpoint,
7663 ::aws_smithy_types::endpoint::Endpoint::builder()
7664 .url("https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com")
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-s3express".to_string().into());
7670 out.insert("signingName".to_string(), "s3express".to_string().into());
7671 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7672 out.insert("disableDoubleEncoding".to_string(), true.into());
7673 out
7674 })]
7675 )
7676 .property("backend", "S3Express".to_string())
7677 .build()
7678 );
7679 }
7680
7681 #[test]
7683 fn test_275() {
7684 let params = crate::config::endpoint::Params::builder()
7685 .region("us-east-1".to_string())
7686 .bucket("mybucket--use1-az1--x-s3".to_string())
7687 .use_fips(true)
7688 .use_dual_stack(false)
7689 .accelerate(false)
7690 .use_s3_express_control_endpoint(false)
7691 .build()
7692 .expect("invalid params");
7693 let resolver = crate::config::endpoint::DefaultResolver::new();
7694 let endpoint = resolver.resolve_endpoint(¶ms);
7695 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com");
7696 assert_eq!(
7697 endpoint,
7698 ::aws_smithy_types::endpoint::Endpoint::builder()
7699 .url("https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com")
7700 .property(
7701 "authSchemes",
7702 vec![::aws_smithy_types::Document::from({
7703 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7704 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7705 out.insert("signingName".to_string(), "s3express".to_string().into());
7706 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7707 out.insert("disableDoubleEncoding".to_string(), true.into());
7708 out
7709 })]
7710 )
7711 .property("backend", "S3Express".to_string())
7712 .build()
7713 );
7714 }
7715
7716 #[test]
7718 fn test_276() {
7719 let params = crate::config::endpoint::Params::builder()
7720 .region("ap-northeast-1".to_string())
7721 .bucket("mybucket--apne1-az1--x-s3".to_string())
7722 .use_fips(false)
7723 .use_dual_stack(false)
7724 .accelerate(false)
7725 .use_s3_express_control_endpoint(false)
7726 .build()
7727 .expect("invalid params");
7728 let resolver = crate::config::endpoint::DefaultResolver::new();
7729 let endpoint = resolver.resolve_endpoint(¶ms);
7730 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com");
7731 assert_eq!(
7732 endpoint,
7733 ::aws_smithy_types::endpoint::Endpoint::builder()
7734 .url("https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com")
7735 .property(
7736 "authSchemes",
7737 vec![::aws_smithy_types::Document::from({
7738 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7739 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7740 out.insert("signingName".to_string(), "s3express".to_string().into());
7741 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
7742 out.insert("disableDoubleEncoding".to_string(), true.into());
7743 out
7744 })]
7745 )
7746 .property("backend", "S3Express".to_string())
7747 .build()
7748 );
7749 }
7750
7751 #[test]
7753 fn test_277() {
7754 let params = crate::config::endpoint::Params::builder()
7755 .region("ap-northeast-1".to_string())
7756 .bucket("mybucket--apne1-az1--x-s3".to_string())
7757 .use_fips(true)
7758 .use_dual_stack(false)
7759 .accelerate(false)
7760 .use_s3_express_control_endpoint(false)
7761 .build()
7762 .expect("invalid params");
7763 let resolver = crate::config::endpoint::DefaultResolver::new();
7764 let endpoint = resolver.resolve_endpoint(¶ms);
7765 let endpoint =
7766 endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com");
7767 assert_eq!(
7768 endpoint,
7769 ::aws_smithy_types::endpoint::Endpoint::builder()
7770 .url("https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com")
7771 .property(
7772 "authSchemes",
7773 vec![::aws_smithy_types::Document::from({
7774 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7775 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
7776 out.insert("signingName".to_string(), "s3express".to_string().into());
7777 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
7778 out.insert("disableDoubleEncoding".to_string(), true.into());
7779 out
7780 })]
7781 )
7782 .property("backend", "S3Express".to_string())
7783 .build()
7784 );
7785 }
7786
7787 #[test]
7789 fn test_278() {
7790 let params = crate::config::endpoint::Params::builder()
7791 .region("us-east-1".to_string())
7792 .bucket("mybucket--use1-az1--x-s3".to_string())
7793 .use_fips(false)
7794 .use_dual_stack(false)
7795 .accelerate(false)
7796 .use_s3_express_control_endpoint(true)
7797 .disable_s3_express_session_auth(false)
7798 .build()
7799 .expect("invalid params");
7800 let resolver = crate::config::endpoint::DefaultResolver::new();
7801 let endpoint = resolver.resolve_endpoint(¶ms);
7802 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3");
7803 assert_eq!(
7804 endpoint,
7805 ::aws_smithy_types::endpoint::Endpoint::builder()
7806 .url("https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3")
7807 .property(
7808 "authSchemes",
7809 vec![::aws_smithy_types::Document::from({
7810 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7811 out.insert("name".to_string(), "sigv4".to_string().into());
7812 out.insert("signingName".to_string(), "s3express".to_string().into());
7813 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7814 out.insert("disableDoubleEncoding".to_string(), true.into());
7815 out
7816 })]
7817 )
7818 .property("backend", "S3Express".to_string())
7819 .build()
7820 );
7821 }
7822
7823 #[test]
7825 fn test_279() {
7826 let params = crate::config::endpoint::Params::builder()
7827 .region("us-east-1".to_string())
7828 .bucket("mybucket--use1-az1--x-s3".to_string())
7829 .use_fips(true)
7830 .use_dual_stack(false)
7831 .accelerate(false)
7832 .use_s3_express_control_endpoint(true)
7833 .disable_s3_express_session_auth(false)
7834 .build()
7835 .expect("invalid params");
7836 let resolver = crate::config::endpoint::DefaultResolver::new();
7837 let endpoint = resolver.resolve_endpoint(¶ms);
7838 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3");
7839 assert_eq!(
7840 endpoint,
7841 ::aws_smithy_types::endpoint::Endpoint::builder()
7842 .url("https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3")
7843 .property(
7844 "authSchemes",
7845 vec![::aws_smithy_types::Document::from({
7846 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7847 out.insert("name".to_string(), "sigv4".to_string().into());
7848 out.insert("signingName".to_string(), "s3express".to_string().into());
7849 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7850 out.insert("disableDoubleEncoding".to_string(), true.into());
7851 out
7852 })]
7853 )
7854 .property("backend", "S3Express".to_string())
7855 .build()
7856 );
7857 }
7858
7859 #[test]
7861 fn test_280() {
7862 let params = crate::config::endpoint::Params::builder()
7863 .region("us-east-1".to_string())
7864 .use_fips(false)
7865 .use_dual_stack(false)
7866 .accelerate(false)
7867 .use_s3_express_control_endpoint(true)
7868 .disable_s3_express_session_auth(false)
7869 .build()
7870 .expect("invalid params");
7871 let resolver = crate::config::endpoint::DefaultResolver::new();
7872 let endpoint = resolver.resolve_endpoint(¶ms);
7873 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com");
7874 assert_eq!(
7875 endpoint,
7876 ::aws_smithy_types::endpoint::Endpoint::builder()
7877 .url("https://s3express-control.us-east-1.amazonaws.com")
7878 .property(
7879 "authSchemes",
7880 vec![::aws_smithy_types::Document::from({
7881 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7882 out.insert("name".to_string(), "sigv4".to_string().into());
7883 out.insert("signingName".to_string(), "s3express".to_string().into());
7884 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7885 out.insert("disableDoubleEncoding".to_string(), true.into());
7886 out
7887 })]
7888 )
7889 .property("backend", "S3Express".to_string())
7890 .build()
7891 );
7892 }
7893
7894 #[test]
7896 fn test_281() {
7897 let params = crate::config::endpoint::Params::builder()
7898 .region("us-east-1".to_string())
7899 .use_fips(true)
7900 .use_dual_stack(false)
7901 .accelerate(false)
7902 .use_s3_express_control_endpoint(true)
7903 .disable_s3_express_session_auth(false)
7904 .build()
7905 .expect("invalid params");
7906 let resolver = crate::config::endpoint::DefaultResolver::new();
7907 let endpoint = resolver.resolve_endpoint(¶ms);
7908 let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com");
7909 assert_eq!(
7910 endpoint,
7911 ::aws_smithy_types::endpoint::Endpoint::builder()
7912 .url("https://s3express-control-fips.us-east-1.amazonaws.com")
7913 .property(
7914 "authSchemes",
7915 vec![::aws_smithy_types::Document::from({
7916 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7917 out.insert("name".to_string(), "sigv4".to_string().into());
7918 out.insert("signingName".to_string(), "s3express".to_string().into());
7919 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
7920 out.insert("disableDoubleEncoding".to_string(), true.into());
7921 out
7922 })]
7923 )
7924 .property("backend", "S3Express".to_string())
7925 .build()
7926 );
7927 }
7928
7929 #[test]
7931 fn test_282() {
7932 let params = crate::config::endpoint::Params::builder()
7933 .region("us-west-2".to_string())
7934 .bucket("mybucket--usw2-az1--x-s3".to_string())
7935 .use_fips(false)
7936 .use_dual_stack(false)
7937 .accelerate(false)
7938 .disable_s3_express_session_auth(true)
7939 .build()
7940 .expect("invalid params");
7941 let resolver = crate::config::endpoint::DefaultResolver::new();
7942 let endpoint = resolver.resolve_endpoint(¶ms);
7943 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com");
7944 assert_eq!(
7945 endpoint,
7946 ::aws_smithy_types::endpoint::Endpoint::builder()
7947 .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com")
7948 .property(
7949 "authSchemes",
7950 vec![::aws_smithy_types::Document::from({
7951 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7952 out.insert("name".to_string(), "sigv4".to_string().into());
7953 out.insert("signingName".to_string(), "s3express".to_string().into());
7954 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
7955 out.insert("disableDoubleEncoding".to_string(), true.into());
7956 out
7957 })]
7958 )
7959 .property("backend", "S3Express".to_string())
7960 .build()
7961 );
7962 }
7963
7964 #[test]
7966 fn test_283() {
7967 let params = crate::config::endpoint::Params::builder()
7968 .region("us-west-2".to_string())
7969 .bucket("mybucket--usw2-az1--x-s3".to_string())
7970 .use_fips(true)
7971 .use_dual_stack(false)
7972 .accelerate(false)
7973 .disable_s3_express_session_auth(true)
7974 .build()
7975 .expect("invalid params");
7976 let resolver = crate::config::endpoint::DefaultResolver::new();
7977 let endpoint = resolver.resolve_endpoint(¶ms);
7978 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com");
7979 assert_eq!(
7980 endpoint,
7981 ::aws_smithy_types::endpoint::Endpoint::builder()
7982 .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com")
7983 .property(
7984 "authSchemes",
7985 vec![::aws_smithy_types::Document::from({
7986 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
7987 out.insert("name".to_string(), "sigv4".to_string().into());
7988 out.insert("signingName".to_string(), "s3express".to_string().into());
7989 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
7990 out.insert("disableDoubleEncoding".to_string(), true.into());
7991 out
7992 })]
7993 )
7994 .property("backend", "S3Express".to_string())
7995 .build()
7996 );
7997 }
7998
7999 #[test]
8001 fn test_284() {
8002 let params = crate::config::endpoint::Params::builder()
8003 .region("ap-northeast-1".to_string())
8004 .bucket("mybucket--apne1-az1--x-s3".to_string())
8005 .use_fips(false)
8006 .use_dual_stack(false)
8007 .accelerate(false)
8008 .use_s3_express_control_endpoint(false)
8009 .disable_s3_express_session_auth(true)
8010 .build()
8011 .expect("invalid params");
8012 let resolver = crate::config::endpoint::DefaultResolver::new();
8013 let endpoint = resolver.resolve_endpoint(¶ms);
8014 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com");
8015 assert_eq!(
8016 endpoint,
8017 ::aws_smithy_types::endpoint::Endpoint::builder()
8018 .url("https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com")
8019 .property(
8020 "authSchemes",
8021 vec![::aws_smithy_types::Document::from({
8022 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8023 out.insert("name".to_string(), "sigv4".to_string().into());
8024 out.insert("signingName".to_string(), "s3express".to_string().into());
8025 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
8026 out.insert("disableDoubleEncoding".to_string(), true.into());
8027 out
8028 })]
8029 )
8030 .property("backend", "S3Express".to_string())
8031 .build()
8032 );
8033 }
8034
8035 #[test]
8037 fn test_285() {
8038 let params = crate::config::endpoint::Params::builder()
8039 .region("ap-northeast-1".to_string())
8040 .bucket("mybucket--apne1-az1--x-s3".to_string())
8041 .use_fips(true)
8042 .use_dual_stack(false)
8043 .accelerate(false)
8044 .use_s3_express_control_endpoint(false)
8045 .disable_s3_express_session_auth(true)
8046 .build()
8047 .expect("invalid params");
8048 let resolver = crate::config::endpoint::DefaultResolver::new();
8049 let endpoint = resolver.resolve_endpoint(¶ms);
8050 let endpoint =
8051 endpoint.expect("Expected valid endpoint: https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com");
8052 assert_eq!(
8053 endpoint,
8054 ::aws_smithy_types::endpoint::Endpoint::builder()
8055 .url("https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com")
8056 .property(
8057 "authSchemes",
8058 vec![::aws_smithy_types::Document::from({
8059 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8060 out.insert("name".to_string(), "sigv4".to_string().into());
8061 out.insert("signingName".to_string(), "s3express".to_string().into());
8062 out.insert("signingRegion".to_string(), "ap-northeast-1".to_string().into());
8063 out.insert("disableDoubleEncoding".to_string(), true.into());
8064 out
8065 })]
8066 )
8067 .property("backend", "S3Express".to_string())
8068 .build()
8069 );
8070 }
8071
8072 #[test]
8074 fn test_286() {
8075 let params = crate::config::endpoint::Params::builder()
8076 .region("us-west-2".to_string())
8077 .bucket("mybucket--usw2-az1--x-s3".to_string())
8078 .use_fips(false)
8079 .use_dual_stack(false)
8080 .accelerate(false)
8081 .use_s3_express_control_endpoint(true)
8082 .disable_s3_express_session_auth(true)
8083 .endpoint("https://custom.com".to_string())
8084 .build()
8085 .expect("invalid params");
8086 let resolver = crate::config::endpoint::DefaultResolver::new();
8087 let endpoint = resolver.resolve_endpoint(¶ms);
8088 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
8089 assert_eq!(
8090 endpoint,
8091 ::aws_smithy_types::endpoint::Endpoint::builder()
8092 .url("https://mybucket--usw2-az1--x-s3.custom.com")
8093 .property(
8094 "authSchemes",
8095 vec![::aws_smithy_types::Document::from({
8096 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8097 out.insert("name".to_string(), "sigv4".to_string().into());
8098 out.insert("signingName".to_string(), "s3express".to_string().into());
8099 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8100 out.insert("disableDoubleEncoding".to_string(), true.into());
8101 out
8102 })]
8103 )
8104 .property("backend", "S3Express".to_string())
8105 .build()
8106 );
8107 }
8108
8109 #[test]
8111 fn test_287() {
8112 let params = crate::config::endpoint::Params::builder()
8113 .region("us-west-2".to_string())
8114 .use_fips(false)
8115 .use_dual_stack(false)
8116 .accelerate(false)
8117 .use_s3_express_control_endpoint(true)
8118 .disable_s3_express_session_auth(true)
8119 .endpoint("https://custom.com".to_string())
8120 .build()
8121 .expect("invalid params");
8122 let resolver = crate::config::endpoint::DefaultResolver::new();
8123 let endpoint = resolver.resolve_endpoint(¶ms);
8124 let endpoint = endpoint.expect("Expected valid endpoint: https://custom.com");
8125 assert_eq!(
8126 endpoint,
8127 ::aws_smithy_types::endpoint::Endpoint::builder()
8128 .url("https://custom.com")
8129 .property(
8130 "authSchemes",
8131 vec![::aws_smithy_types::Document::from({
8132 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8133 out.insert("name".to_string(), "sigv4".to_string().into());
8134 out.insert("signingName".to_string(), "s3express".to_string().into());
8135 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8136 out.insert("disableDoubleEncoding".to_string(), true.into());
8137 out
8138 })]
8139 )
8140 .property("backend", "S3Express".to_string())
8141 .build()
8142 );
8143 }
8144
8145 #[test]
8147 fn test_288() {
8148 let params = crate::config::endpoint::Params::builder()
8149 .region("us-west-2".to_string())
8150 .bucket("mybucket--usw2-az1--x-s3".to_string())
8151 .use_fips(false)
8152 .use_dual_stack(false)
8153 .accelerate(false)
8154 .endpoint("https://10.0.0.1".to_string())
8155 .build()
8156 .expect("invalid params");
8157 let resolver = crate::config::endpoint::DefaultResolver::new();
8158 let endpoint = resolver.resolve_endpoint(¶ms);
8159 let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
8160 assert_eq!(
8161 endpoint,
8162 ::aws_smithy_types::endpoint::Endpoint::builder()
8163 .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
8164 .property(
8165 "authSchemes",
8166 vec![::aws_smithy_types::Document::from({
8167 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8168 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
8169 out.insert("signingName".to_string(), "s3express".to_string().into());
8170 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8171 out.insert("disableDoubleEncoding".to_string(), true.into());
8172 out
8173 })]
8174 )
8175 .property("backend", "S3Express".to_string())
8176 .build()
8177 );
8178 }
8179
8180 #[test]
8182 fn test_289() {
8183 let params = crate::config::endpoint::Params::builder()
8184 .region("us-west-2".to_string())
8185 .bucket("mybucket--usw2-az1--x-s3".to_string())
8186 .use_fips(false)
8187 .use_dual_stack(false)
8188 .accelerate(false)
8189 .use_s3_express_control_endpoint(true)
8190 .disable_s3_express_session_auth(true)
8191 .endpoint("https://10.0.0.1".to_string())
8192 .build()
8193 .expect("invalid params");
8194 let resolver = crate::config::endpoint::DefaultResolver::new();
8195 let endpoint = resolver.resolve_endpoint(¶ms);
8196 let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
8197 assert_eq!(
8198 endpoint,
8199 ::aws_smithy_types::endpoint::Endpoint::builder()
8200 .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
8201 .property(
8202 "authSchemes",
8203 vec![::aws_smithy_types::Document::from({
8204 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8205 out.insert("name".to_string(), "sigv4".to_string().into());
8206 out.insert("signingName".to_string(), "s3express".to_string().into());
8207 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8208 out.insert("disableDoubleEncoding".to_string(), true.into());
8209 out
8210 })]
8211 )
8212 .property("backend", "S3Express".to_string())
8213 .build()
8214 );
8215 }
8216
8217 #[test]
8219 fn test_290() {
8220 let params = crate::config::endpoint::Params::builder()
8221 .region("us-west-2".to_string())
8222 .bucket("mybucket--usw2-az1--x-s3".to_string())
8223 .use_fips(false)
8224 .use_dual_stack(false)
8225 .accelerate(false)
8226 .endpoint("https://custom.com".to_string())
8227 .build()
8228 .expect("invalid params");
8229 let resolver = crate::config::endpoint::DefaultResolver::new();
8230 let endpoint = resolver.resolve_endpoint(¶ms);
8231 let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
8232 assert_eq!(
8233 endpoint,
8234 ::aws_smithy_types::endpoint::Endpoint::builder()
8235 .url("https://mybucket--usw2-az1--x-s3.custom.com")
8236 .property(
8237 "authSchemes",
8238 vec![::aws_smithy_types::Document::from({
8239 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
8240 out.insert("name".to_string(), "sigv4-s3express".to_string().into());
8241 out.insert("signingName".to_string(), "s3express".to_string().into());
8242 out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
8243 out.insert("disableDoubleEncoding".to_string(), true.into());
8244 out
8245 })]
8246 )
8247 .property("backend", "S3Express".to_string())
8248 .build()
8249 );
8250 }
8251
8252 #[test]
8254 fn test_291() {
8255 let params = crate::config::endpoint::Params::builder()
8256 .region("us-east-1".to_string())
8257 .bucket("mybucket--usaz1--x-s3".to_string())
8258 .use_fips(false)
8259 .use_dual_stack(false)
8260 .accelerate(false)
8261 .use_s3_express_control_endpoint(false)
8262 .build()
8263 .expect("invalid params");
8264 let resolver = crate::config::endpoint::DefaultResolver::new();
8265 let endpoint = resolver.resolve_endpoint(¶ms);
8266 let error = endpoint.expect_err("expected error: Unrecognized S3Express bucket name format. [bad format error]");
8267 assert_eq!(format!("{}", error), "Unrecognized S3Express bucket name format.")
8268 }
8269
8270 #[test]
8272 fn test_292() {
8273 let params = crate::config::endpoint::Params::builder()
8274 .region("us-east-1".to_string())
8275 .bucket("mybucket--usaz1--x-s3".to_string())
8276 .use_fips(false)
8277 .use_dual_stack(false)
8278 .accelerate(false)
8279 .use_s3_express_control_endpoint(false)
8280 .disable_s3_express_session_auth(true)
8281 .build()
8282 .expect("invalid params");
8283 let resolver = crate::config::endpoint::DefaultResolver::new();
8284 let endpoint = resolver.resolve_endpoint(¶ms);
8285 let error = endpoint.expect_err("expected error: Unrecognized S3Express bucket name format. [bad format error no session auth]");
8286 assert_eq!(format!("{}", error), "Unrecognized S3Express bucket name format.")
8287 }
8288
8289 #[test]
8291 fn test_293() {
8292 let params = crate::config::endpoint::Params::builder()
8293 .region("us-east-1".to_string())
8294 .bucket("mybucket--use1-az1--x-s3".to_string())
8295 .use_fips(false)
8296 .use_dual_stack(true)
8297 .accelerate(false)
8298 .use_s3_express_control_endpoint(false)
8299 .build()
8300 .expect("invalid params");
8301 let resolver = crate::config::endpoint::DefaultResolver::new();
8302 let endpoint = resolver.resolve_endpoint(¶ms);
8303 let error = endpoint.expect_err("expected error: S3Express does not support Dual-stack. [dual-stack error]");
8304 assert_eq!(format!("{}", error), "S3Express does not support Dual-stack.")
8305 }
8306
8307 #[test]
8309 fn test_294() {
8310 let params = crate::config::endpoint::Params::builder()
8311 .region("us-east-1".to_string())
8312 .bucket("mybucket--use1-az1--x-s3".to_string())
8313 .use_fips(false)
8314 .use_dual_stack(false)
8315 .accelerate(true)
8316 .use_s3_express_control_endpoint(false)
8317 .build()
8318 .expect("invalid params");
8319 let resolver = crate::config::endpoint::DefaultResolver::new();
8320 let endpoint = resolver.resolve_endpoint(¶ms);
8321 let error = endpoint.expect_err("expected error: S3Express does not support S3 Accelerate. [accelerate error]");
8322 assert_eq!(format!("{}", error), "S3Express does not support S3 Accelerate.")
8323 }
8324
8325 #[test]
8327 fn test_295() {
8328 let params = crate::config::endpoint::Params::builder()
8329 .region("us-east-1".to_string())
8330 .bucket("my.bucket--use1-az1--x-s3".to_string())
8331 .use_fips(false)
8332 .use_dual_stack(false)
8333 .accelerate(false)
8334 .use_s3_express_control_endpoint(false)
8335 .build()
8336 .expect("invalid params");
8337 let resolver = crate::config::endpoint::DefaultResolver::new();
8338 let endpoint = resolver.resolve_endpoint(¶ms);
8339 let error =
8340 endpoint.expect_err("expected error: S3Express bucket name is not a valid virtual hostable name. [Data plane bucket format error]");
8341 assert_eq!(format!("{}", error), "S3Express bucket name is not a valid virtual hostable name.")
8342 }
8343
8344 #[test]
8346 fn test_296() {
8347 let params = crate::config::endpoint::Params::builder()
8348 .region("us-west-2".to_string())
8349 .bucket("my.bucket--usw2-az1--x-s3".to_string())
8350 .use_fips(false)
8351 .use_dual_stack(false)
8352 .accelerate(false)
8353 .endpoint("https://custom.com".to_string())
8354 .build()
8355 .expect("invalid params");
8356 let resolver = crate::config::endpoint::DefaultResolver::new();
8357 let endpoint = resolver.resolve_endpoint(¶ms);
8358 let error = endpoint.expect_err(
8359 "expected error: S3Express bucket name is not a valid virtual hostable name. [host override data plane bucket error session auth]",
8360 );
8361 assert_eq!(format!("{}", error), "S3Express bucket name is not a valid virtual hostable name.")
8362 }
8363
8364 #[test]
8366 fn test_297() {
8367 let params = crate::config::endpoint::Params::builder()
8368 .region("us-west-2".to_string())
8369 .bucket("my.bucket--usw2-az1--x-s3".to_string())
8370 .use_fips(false)
8371 .use_dual_stack(false)
8372 .accelerate(false)
8373 .endpoint("https://custom.com".to_string())
8374 .disable_s3_express_session_auth(true)
8375 .build()
8376 .expect("invalid params");
8377 let resolver = crate::config::endpoint::DefaultResolver::new();
8378 let endpoint = resolver.resolve_endpoint(¶ms);
8379 let error = endpoint
8380 .expect_err("expected error: S3Express bucket name is not a valid virtual hostable name. [host override data plane bucket error]");
8381 assert_eq!(format!("{}", error), "S3Express bucket name is not a valid virtual hostable name.")
8382 }
8383}
8384
8385pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
8387 fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
8389
8390 fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
8394 where
8395 Self: Sized + 'static,
8396 {
8397 ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
8398 }
8399}
8400
8401#[derive(Debug)]
8402struct DowncastParams<T>(T);
8403impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
8404where
8405 T: ResolveEndpoint,
8406{
8407 fn resolve_endpoint<'a>(
8408 &'a self,
8409 params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams,
8410 ) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
8411 let ep = match params.get::<crate::config::endpoint::Params>() {
8412 Some(params) => self.0.resolve_endpoint(params),
8413 None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
8414 };
8415 ep
8416 }
8417}
8418
8419#[derive(Debug, Default)]
8421pub struct DefaultResolver {
8422 partition_resolver: crate::endpoint_lib::partition::PartitionResolver,
8423}
8424
8425impl DefaultResolver {
8426 pub fn new() -> Self {
8428 Self {
8429 partition_resolver: crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER.clone(),
8430 }
8431 }
8432
8433 fn resolve_endpoint(
8434 &self,
8435 params: &crate::config::endpoint::Params,
8436 ) -> Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
8437 let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
8438 Ok(
8439 crate::config::endpoint::internals::resolve_endpoint(params, &mut diagnostic_collector, &self.partition_resolver)
8440 .map_err(|err| err.with_source(diagnostic_collector.take_last_error()))?,
8441 )
8442 }
8443}
8444
8445impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
8446 fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture {
8447 ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(self.resolve_endpoint(params))
8448 }
8449}
8450
8451#[non_exhaustive]
8452#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
8453pub struct Params {
8455 pub(crate) bucket: ::std::option::Option<::std::string::String>,
8457 pub(crate) region: ::std::option::Option<::std::string::String>,
8459 pub(crate) use_fips: bool,
8461 pub(crate) use_dual_stack: bool,
8463 pub(crate) endpoint: ::std::option::Option<::std::string::String>,
8465 pub(crate) force_path_style: bool,
8467 pub(crate) accelerate: bool,
8469 pub(crate) use_global_endpoint: bool,
8471 pub(crate) use_object_lambda_endpoint: ::std::option::Option<bool>,
8473 pub(crate) key: ::std::option::Option<::std::string::String>,
8475 pub(crate) prefix: ::std::option::Option<::std::string::String>,
8477 pub(crate) disable_access_points: ::std::option::Option<bool>,
8479 pub(crate) disable_multi_region_access_points: bool,
8481 pub(crate) use_arn_region: ::std::option::Option<bool>,
8483 pub(crate) use_s3_express_control_endpoint: ::std::option::Option<bool>,
8485 pub(crate) disable_s3_express_session_auth: ::std::option::Option<bool>,
8487}
8488impl Params {
8489 pub fn builder() -> crate::config::endpoint::ParamsBuilder {
8491 crate::config::endpoint::ParamsBuilder::default()
8492 }
8493 pub fn bucket(&self) -> ::std::option::Option<&str> {
8495 self.bucket.as_deref()
8496 }
8497 pub fn region(&self) -> ::std::option::Option<&str> {
8499 self.region.as_deref()
8500 }
8501 pub fn use_fips(&self) -> ::std::option::Option<bool> {
8503 Some(self.use_fips)
8504 }
8505 pub fn use_dual_stack(&self) -> ::std::option::Option<bool> {
8507 Some(self.use_dual_stack)
8508 }
8509 pub fn endpoint(&self) -> ::std::option::Option<&str> {
8511 self.endpoint.as_deref()
8512 }
8513 pub fn force_path_style(&self) -> ::std::option::Option<bool> {
8515 Some(self.force_path_style)
8516 }
8517 pub fn accelerate(&self) -> ::std::option::Option<bool> {
8519 Some(self.accelerate)
8520 }
8521 pub fn use_global_endpoint(&self) -> ::std::option::Option<bool> {
8523 Some(self.use_global_endpoint)
8524 }
8525 pub fn use_object_lambda_endpoint(&self) -> ::std::option::Option<bool> {
8527 self.use_object_lambda_endpoint
8528 }
8529 pub fn key(&self) -> ::std::option::Option<&str> {
8531 self.key.as_deref()
8532 }
8533 pub fn prefix(&self) -> ::std::option::Option<&str> {
8535 self.prefix.as_deref()
8536 }
8537 pub fn disable_access_points(&self) -> ::std::option::Option<bool> {
8539 self.disable_access_points
8540 }
8541 pub fn disable_multi_region_access_points(&self) -> ::std::option::Option<bool> {
8543 Some(self.disable_multi_region_access_points)
8544 }
8545 pub fn use_arn_region(&self) -> ::std::option::Option<bool> {
8547 self.use_arn_region
8548 }
8549 pub fn use_s3_express_control_endpoint(&self) -> ::std::option::Option<bool> {
8551 self.use_s3_express_control_endpoint
8552 }
8553 pub fn disable_s3_express_session_auth(&self) -> ::std::option::Option<bool> {
8555 self.disable_s3_express_session_auth
8556 }
8557}
8558
8559#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
8561pub struct ParamsBuilder {
8562 bucket: ::std::option::Option<::std::string::String>,
8563 region: ::std::option::Option<::std::string::String>,
8564 use_fips: ::std::option::Option<bool>,
8565 use_dual_stack: ::std::option::Option<bool>,
8566 endpoint: ::std::option::Option<::std::string::String>,
8567 force_path_style: ::std::option::Option<bool>,
8568 accelerate: ::std::option::Option<bool>,
8569 use_global_endpoint: ::std::option::Option<bool>,
8570 use_object_lambda_endpoint: ::std::option::Option<bool>,
8571 key: ::std::option::Option<::std::string::String>,
8572 prefix: ::std::option::Option<::std::string::String>,
8573 disable_access_points: ::std::option::Option<bool>,
8574 disable_multi_region_access_points: ::std::option::Option<bool>,
8575 use_arn_region: ::std::option::Option<bool>,
8576 use_s3_express_control_endpoint: ::std::option::Option<bool>,
8577 disable_s3_express_session_auth: ::std::option::Option<bool>,
8578}
8579impl ParamsBuilder {
8580 pub fn build(self) -> ::std::result::Result<crate::config::endpoint::Params, crate::config::endpoint::InvalidParams> {
8582 Ok(
8583 #[allow(clippy::unnecessary_lazy_evaluations)]
8584 crate::config::endpoint::Params {
8585 bucket: self.bucket,
8586 region: self.region,
8587 use_fips: self
8588 .use_fips
8589 .or_else(|| Some(false))
8590 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_fips"))?,
8591 use_dual_stack: self
8592 .use_dual_stack
8593 .or_else(|| Some(false))
8594 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_dual_stack"))?,
8595 endpoint: self.endpoint,
8596 force_path_style: self
8597 .force_path_style
8598 .or_else(|| Some(false))
8599 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("force_path_style"))?,
8600 accelerate: self
8601 .accelerate
8602 .or_else(|| Some(false))
8603 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("accelerate"))?,
8604 use_global_endpoint: self
8605 .use_global_endpoint
8606 .or_else(|| Some(false))
8607 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_global_endpoint"))?,
8608 use_object_lambda_endpoint: self.use_object_lambda_endpoint,
8609 key: self.key,
8610 prefix: self.prefix,
8611 disable_access_points: self.disable_access_points,
8612 disable_multi_region_access_points: self
8613 .disable_multi_region_access_points
8614 .or_else(|| Some(false))
8615 .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("disable_multi_region_access_points"))?,
8616 use_arn_region: self.use_arn_region,
8617 use_s3_express_control_endpoint: self.use_s3_express_control_endpoint,
8618 disable_s3_express_session_auth: self.disable_s3_express_session_auth,
8619 },
8620 )
8621 }
8622 pub fn bucket(mut self, value: impl Into<::std::string::String>) -> Self {
8626 self.bucket = Some(value.into());
8627 self
8628 }
8629
8630 pub fn set_bucket(mut self, param: Option<::std::string::String>) -> Self {
8634 self.bucket = param;
8635 self
8636 }
8637 pub fn region(mut self, value: impl Into<::std::string::String>) -> Self {
8641 self.region = Some(value.into());
8642 self
8643 }
8644
8645 pub fn set_region(mut self, param: Option<::std::string::String>) -> Self {
8649 self.region = param;
8650 self
8651 }
8652 pub fn use_fips(mut self, value: impl Into<bool>) -> Self {
8657 self.use_fips = Some(value.into());
8658 self
8659 }
8660
8661 pub fn set_use_fips(mut self, param: Option<bool>) -> Self {
8666 self.use_fips = param;
8667 self
8668 }
8669 pub fn use_dual_stack(mut self, value: impl Into<bool>) -> Self {
8674 self.use_dual_stack = Some(value.into());
8675 self
8676 }
8677
8678 pub fn set_use_dual_stack(mut self, param: Option<bool>) -> Self {
8683 self.use_dual_stack = param;
8684 self
8685 }
8686 pub fn endpoint(mut self, value: impl Into<::std::string::String>) -> Self {
8690 self.endpoint = Some(value.into());
8691 self
8692 }
8693
8694 pub fn set_endpoint(mut self, param: Option<::std::string::String>) -> Self {
8698 self.endpoint = param;
8699 self
8700 }
8701 pub fn force_path_style(mut self, value: impl Into<bool>) -> Self {
8706 self.force_path_style = Some(value.into());
8707 self
8708 }
8709
8710 pub fn set_force_path_style(mut self, param: Option<bool>) -> Self {
8715 self.force_path_style = param;
8716 self
8717 }
8718 pub fn accelerate(mut self, value: impl Into<bool>) -> Self {
8723 self.accelerate = Some(value.into());
8724 self
8725 }
8726
8727 pub fn set_accelerate(mut self, param: Option<bool>) -> Self {
8732 self.accelerate = param;
8733 self
8734 }
8735 pub fn use_global_endpoint(mut self, value: impl Into<bool>) -> Self {
8740 self.use_global_endpoint = Some(value.into());
8741 self
8742 }
8743
8744 pub fn set_use_global_endpoint(mut self, param: Option<bool>) -> Self {
8749 self.use_global_endpoint = param;
8750 self
8751 }
8752 pub fn use_object_lambda_endpoint(mut self, value: impl Into<bool>) -> Self {
8756 self.use_object_lambda_endpoint = Some(value.into());
8757 self
8758 }
8759
8760 pub fn set_use_object_lambda_endpoint(mut self, param: Option<bool>) -> Self {
8764 self.use_object_lambda_endpoint = param;
8765 self
8766 }
8767 pub fn key(mut self, value: impl Into<::std::string::String>) -> Self {
8771 self.key = Some(value.into());
8772 self
8773 }
8774
8775 pub fn set_key(mut self, param: Option<::std::string::String>) -> Self {
8779 self.key = param;
8780 self
8781 }
8782 pub fn prefix(mut self, value: impl Into<::std::string::String>) -> Self {
8786 self.prefix = Some(value.into());
8787 self
8788 }
8789
8790 pub fn set_prefix(mut self, param: Option<::std::string::String>) -> Self {
8794 self.prefix = param;
8795 self
8796 }
8797 pub fn disable_access_points(mut self, value: impl Into<bool>) -> Self {
8801 self.disable_access_points = Some(value.into());
8802 self
8803 }
8804
8805 pub fn set_disable_access_points(mut self, param: Option<bool>) -> Self {
8809 self.disable_access_points = param;
8810 self
8811 }
8812 pub fn disable_multi_region_access_points(mut self, value: impl Into<bool>) -> Self {
8817 self.disable_multi_region_access_points = Some(value.into());
8818 self
8819 }
8820
8821 pub fn set_disable_multi_region_access_points(mut self, param: Option<bool>) -> Self {
8826 self.disable_multi_region_access_points = param;
8827 self
8828 }
8829 pub fn use_arn_region(mut self, value: impl Into<bool>) -> Self {
8833 self.use_arn_region = Some(value.into());
8834 self
8835 }
8836
8837 pub fn set_use_arn_region(mut self, param: Option<bool>) -> Self {
8841 self.use_arn_region = param;
8842 self
8843 }
8844 pub fn use_s3_express_control_endpoint(mut self, value: impl Into<bool>) -> Self {
8848 self.use_s3_express_control_endpoint = Some(value.into());
8849 self
8850 }
8851
8852 pub fn set_use_s3_express_control_endpoint(mut self, param: Option<bool>) -> Self {
8856 self.use_s3_express_control_endpoint = param;
8857 self
8858 }
8859 pub fn disable_s3_express_session_auth(mut self, value: impl Into<bool>) -> Self {
8863 self.disable_s3_express_session_auth = Some(value.into());
8864 self
8865 }
8866
8867 pub fn set_disable_s3_express_session_auth(mut self, param: Option<bool>) -> Self {
8871 self.disable_s3_express_session_auth = param;
8872 self
8873 }
8874}
8875
8876#[derive(Debug)]
8878pub struct InvalidParams {
8879 field: std::borrow::Cow<'static, str>,
8880}
8881
8882impl InvalidParams {
8883 #[allow(dead_code)]
8884 fn missing(field: &'static str) -> Self {
8885 Self { field: field.into() }
8886 }
8887}
8888
8889impl std::fmt::Display for InvalidParams {
8890 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8891 write!(f, "a required field was missing: `{}`", self.field)
8892 }
8893}
8894
8895impl std::error::Error for InvalidParams {}
8896
8897mod internals;