1{ 2 "testCases": [ 3 { 4 "documentation": "region is not a valid DNS-suffix", 5 "expect": { 6 "error": "Invalid region: region was not a valid DNS name." 7 }, 8 "params": { 9 "Region": "a b", 10 "UseFIPS": false, 11 "UseDualStack": false, 12 "Accelerate": false 13 } 14 }, 15 { 16 "documentation": "Invalid access point ARN: Not S3", 17 "expect": { 18 "error": "Invalid ARN: The ARN was not for the S3 service, found: not-s3" 19 }, 20 "operationInputs": [ 21 { 22 "builtInParams": { 23 "AWS::Region": "us-east-1" 24 }, 25 "operationName": "GetObject", 26 "operationParams": { 27 "Bucket": "arn:aws:not-s3:us-west-2:123456789012:accesspoint:myendpoint", 28 "Key": "key" 29 } 30 } 31 ], 32 "params": { 33 "Region": "us-east-1", 34 "UseFIPS": false, 35 "UseDualStack": false, 36 "Accelerate": false, 37 "Bucket": "arn:aws:not-s3:us-west-2:123456789012:accesspoint:myendpoint" 38 } 39 }, 40 { 41 "documentation": "Invalid access point ARN: invalid resource", 42 "expect": { 43 "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`." 44 }, 45 "operationInputs": [ 46 { 47 "builtInParams": { 48 "AWS::Region": "us-east-1" 49 }, 50 "operationName": "GetObject", 51 "operationParams": { 52 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint:more-data", 53 "Key": "key" 54 } 55 } 56 ], 57 "params": { 58 "Region": "us-east-1", 59 "UseFIPS": false, 60 "UseDualStack": false, 61 "Accelerate": false, 62 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint:more-data" 63 } 64 }, 65 { 66 "documentation": "Invalid access point ARN: invalid no ap name", 67 "expect": { 68 "error": "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided" 69 }, 70 "operationInputs": [ 71 { 72 "builtInParams": { 73 "AWS::Region": "us-east-1" 74 }, 75 "operationName": "GetObject", 76 "operationParams": { 77 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:", 78 "Key": "key" 79 } 80 } 81 ], 82 "params": { 83 "Region": "us-east-1", 84 "UseFIPS": false, 85 "UseDualStack": false, 86 "Accelerate": false, 87 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:" 88 } 89 }, 90 { 91 "documentation": "Invalid access point ARN: AccountId is invalid", 92 "expect": { 93 "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123456_789012`" 94 }, 95 "operationInputs": [ 96 { 97 "builtInParams": { 98 "AWS::Region": "us-east-1" 99 }, 100 "operationName": "GetObject", 101 "operationParams": { 102 "Bucket": "arn:aws:s3:us-west-2:123456_789012:accesspoint:apname", 103 "Key": "key" 104 } 105 } 106 ], 107 "params": { 108 "Region": "us-east-1", 109 "UseFIPS": false, 110 "UseDualStack": false, 111 "Accelerate": false, 112 "Bucket": "arn:aws:s3:us-west-2:123456_789012:accesspoint:apname" 113 } 114 }, 115 { 116 "documentation": "Invalid access point ARN: access point name is invalid", 117 "expect": { 118 "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `ap_name`" 119 }, 120 "operationInputs": [ 121 { 122 "builtInParams": { 123 "AWS::Region": "us-east-1" 124 }, 125 "operationName": "GetObject", 126 "operationParams": { 127 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:ap_name", 128 "Key": "key" 129 } 130 } 131 ], 132 "params": { 133 "Region": "us-east-1", 134 "UseFIPS": false, 135 "UseDualStack": false, 136 "Accelerate": false, 137 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:ap_name" 138 } 139 }, 140 { 141 "documentation": "Access points (disable access points explicitly false)", 142 "expect": { 143 "endpoint": { 144 "properties": { 145 "authSchemes": [ 146 { 147 "name": "sigv4", 148 "signingName": "s3", 149 "signingRegion": "us-west-2", 150 "disableDoubleEncoding": true 151 } 152 ] 153 }, 154 "url": "https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com" 155 } 156 }, 157 "operationInputs": [ 158 { 159 "builtInParams": { 160 "AWS::Region": "us-east-1" 161 }, 162 "operationName": "GetObject", 163 "operationParams": { 164 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 165 "Key": "key" 166 } 167 } 168 ], 169 "params": { 170 "Region": "us-east-1", 171 "UseFIPS": false, 172 "UseDualStack": false, 173 "Accelerate": false, 174 "DisableAccessPoints": false, 175 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" 176 } 177 }, 178 { 179 "documentation": "Access points: partition does not support FIPS", 180 "expect": { 181 "error": "Partition does not support FIPS" 182 }, 183 "operationInputs": [ 184 { 185 "builtInParams": { 186 "AWS::Region": "cn-north-1", 187 "AWS::UseFIPS": true 188 }, 189 "operationName": "GetObject", 190 "operationParams": { 191 "Bucket": "arn:aws:s3:cn-north-1:123456789012:accesspoint:myendpoint", 192 "Key": "key" 193 } 194 } 195 ], 196 "params": { 197 "Region": "cn-north-1", 198 "UseFIPS": true, 199 "UseDualStack": false, 200 "Accelerate": false, 201 "Bucket": "arn:aws:s3:cn-north-1:123456789012:accesspoint:myendpoint" 202 } 203 }, 204 { 205 "documentation": "Bucket region is invalid", 206 "expect": { 207 "error": "Invalid region in ARN: `us-west -2` (invalid DNS name)" 208 }, 209 "operationInputs": [ 210 { 211 "builtInParams": { 212 "AWS::Region": "us-east-1" 213 }, 214 "operationName": "GetObject", 215 "operationParams": { 216 "Bucket": "arn:aws:s3:us-west -2:123456789012:accesspoint:myendpoint", 217 "Key": "key" 218 } 219 } 220 ], 221 "params": { 222 "Region": "us-east-1", 223 "UseFIPS": false, 224 "UseDualStack": false, 225 "Accelerate": false, 226 "DisableAccessPoints": false, 227 "Bucket": "arn:aws:s3:us-west -2:123456789012:accesspoint:myendpoint" 228 } 229 }, 230 { 231 "documentation": "Access points when Access points explicitly disabled (used for CreateBucket)", 232 "expect": { 233 "error": "Access points are not supported for this operation" 234 }, 235 "operationInputs": [ 236 { 237 "builtInParams": { 238 "AWS::Region": "us-east-1" 239 }, 240 "operationName": "CreateBucket", 241 "operationParams": { 242 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" 243 } 244 } 245 ], 246 "params": { 247 "Region": "us-east-1", 248 "UseFIPS": false, 249 "UseDualStack": false, 250 "Accelerate": false, 251 "DisableAccessPoints": true, 252 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" 253 } 254 }, 255 { 256 "documentation": "missing arn type", 257 "expect": { 258 "error": "Invalid ARN: `arn:aws:s3:us-west-2:123456789012:` was not a valid ARN" 259 }, 260 "operationInputs": [ 261 { 262 "builtInParams": { 263 "AWS::Region": "us-east-1" 264 }, 265 "operationName": "GetObject", 266 "operationParams": { 267 "Bucket": "arn:aws:s3:us-west-2:123456789012:", 268 "Key": "key" 269 } 270 } 271 ], 272 "params": { 273 "Region": "us-east-1", 274 "UseFIPS": false, 275 "UseDualStack": false, 276 "Accelerate": false, 277 "DisableAccessPoints": true, 278 "Bucket": "arn:aws:s3:us-west-2:123456789012:" 279 } 280 }, 281 { 282 "documentation": "SDK::Host + access point + Dualstack is an error", 283 "expect": { 284 "error": "Cannot set dual-stack in combination with a custom endpoint." 285 }, 286 "operationInputs": [ 287 { 288 "builtInParams": { 289 "AWS::Region": "cn-north-1", 290 "AWS::UseDualStack": true, 291 "SDK::Endpoint": "https://beta.example.com" 292 }, 293 "operationName": "GetObject", 294 "operationParams": { 295 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 296 "Key": "key" 297 } 298 } 299 ], 300 "params": { 301 "Accelerate": false, 302 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 303 "ForcePathStyle": false, 304 "Endpoint": "https://beta.example.com", 305 "Region": "cn-north-1", 306 "UseDualStack": true, 307 "UseFIPS": false 308 } 309 }, 310 { 311 "documentation": "Access point ARN with FIPS & Dualstack", 312 "expect": { 313 "endpoint": { 314 "properties": { 315 "authSchemes": [ 316 { 317 "name": "sigv4", 318 "signingName": "s3", 319 "signingRegion": "us-west-2", 320 "disableDoubleEncoding": true 321 } 322 ] 323 }, 324 "url": "https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com" 325 } 326 }, 327 "operationInputs": [ 328 { 329 "builtInParams": { 330 "AWS::Region": "us-east-1", 331 "AWS::UseFIPS": true, 332 "AWS::UseDualStack": true 333 }, 334 "operationName": "GetObject", 335 "operationParams": { 336 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 337 "Key": "key" 338 } 339 } 340 ], 341 "params": { 342 "Region": "us-east-1", 343 "UseFIPS": true, 344 "UseDualStack": true, 345 "Accelerate": false, 346 "DisableAccessPoints": false, 347 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" 348 } 349 }, 350 { 351 "documentation": "Access point ARN with Dualstack", 352 "expect": { 353 "endpoint": { 354 "properties": { 355 "authSchemes": [ 356 { 357 "name": "sigv4", 358 "signingName": "s3", 359 "signingRegion": "us-west-2", 360 "disableDoubleEncoding": true 361 } 362 ] 363 }, 364 "url": "https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com" 365 } 366 }, 367 "operationInputs": [ 368 { 369 "builtInParams": { 370 "AWS::Region": "us-east-1", 371 "AWS::UseDualStack": true 372 }, 373 "operationName": "GetObject", 374 "operationParams": { 375 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 376 "Key": "key" 377 } 378 } 379 ], 380 "params": { 381 "Region": "us-east-1", 382 "UseFIPS": false, 383 "UseDualStack": true, 384 "Accelerate": false, 385 "DisableAccessPoints": false, 386 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" 387 } 388 }, 389 { 390 "documentation": "vanilla MRAP", 391 "expect": { 392 "endpoint": { 393 "properties": { 394 "authSchemes": [ 395 { 396 "name": "sigv4a", 397 "signingRegionSet": [ 398 "*" 399 ], 400 "signingName": "s3", 401 "disableDoubleEncoding": true 402 } 403 ] 404 }, 405 "url": "https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com" 406 } 407 }, 408 "operationInputs": [ 409 { 410 "builtInParams": { 411 "AWS::Region": "us-east-1" 412 }, 413 "operationName": "GetObject", 414 "operationParams": { 415 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 416 "Key": "key" 417 } 418 } 419 ], 420 "params": { 421 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 422 "Region": "us-east-1", 423 "DisableMultiRegionAccessPoints": false, 424 "UseFIPS": false, 425 "UseDualStack": false, 426 "Accelerate": false 427 } 428 }, 429 { 430 "documentation": "MRAP does not support FIPS", 431 "expect": { 432 "error": "S3 MRAP does not support FIPS" 433 }, 434 "operationInputs": [ 435 { 436 "builtInParams": { 437 "AWS::Region": "us-east-1", 438 "AWS::UseFIPS": true 439 }, 440 "operationName": "GetObject", 441 "operationParams": { 442 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 443 "Key": "key" 444 } 445 } 446 ], 447 "params": { 448 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 449 "Region": "us-east-1", 450 "DisableMultiRegionAccessPoints": false, 451 "UseFIPS": true, 452 "UseDualStack": false, 453 "Accelerate": false 454 } 455 }, 456 { 457 "documentation": "MRAP does not support DualStack", 458 "expect": { 459 "error": "S3 MRAP does not support dual-stack" 460 }, 461 "operationInputs": [ 462 { 463 "builtInParams": { 464 "AWS::Region": "us-east-1", 465 "AWS::UseDualStack": true 466 }, 467 "operationName": "GetObject", 468 "operationParams": { 469 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 470 "Key": "key" 471 } 472 } 473 ], 474 "params": { 475 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 476 "Region": "us-east-1", 477 "DisableMultiRegionAccessPoints": false, 478 "UseFIPS": false, 479 "UseDualStack": true, 480 "Accelerate": false 481 } 482 }, 483 { 484 "documentation": "MRAP does not support S3 Accelerate", 485 "expect": { 486 "error": "S3 MRAP does not support S3 Accelerate" 487 }, 488 "operationInputs": [ 489 { 490 "builtInParams": { 491 "AWS::Region": "us-east-1", 492 "AWS::S3::Accelerate": true 493 }, 494 "operationName": "GetObject", 495 "operationParams": { 496 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 497 "Key": "key" 498 } 499 } 500 ], 501 "params": { 502 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 503 "Region": "us-east-1", 504 "DisableMultiRegionAccessPoints": false, 505 "UseFIPS": false, 506 "UseDualStack": false, 507 "Accelerate": true 508 } 509 }, 510 { 511 "documentation": "MRAP explicitly disabled", 512 "expect": { 513 "error": "Invalid configuration: Multi-Region Access Point ARNs are disabled." 514 }, 515 "operationInputs": [ 516 { 517 "builtInParams": { 518 "AWS::Region": "us-east-1", 519 "AWS::S3::DisableMultiRegionAccessPoints": true 520 }, 521 "operationName": "GetObject", 522 "operationParams": { 523 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 524 "Key": "key" 525 } 526 } 527 ], 528 "params": { 529 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 530 "Region": "us-east-1", 531 "DisableMultiRegionAccessPoints": true, 532 "UseFIPS": false, 533 "UseDualStack": false, 534 "Accelerate": false 535 } 536 }, 537 { 538 "documentation": "Dual-stack endpoint with path-style forced", 539 "expect": { 540 "endpoint": { 541 "properties": { 542 "authSchemes": [ 543 { 544 "name": "sigv4", 545 "signingName": "s3", 546 "signingRegion": "us-west-2", 547 "disableDoubleEncoding": true 548 } 549 ] 550 }, 551 "url": "https://s3.dualstack.us-west-2.amazonaws.com/bucketname" 552 } 553 }, 554 "operationInputs": [ 555 { 556 "builtInParams": { 557 "AWS::Region": "us-west-2", 558 "AWS::UseDualStack": true, 559 "AWS::S3::ForcePathStyle": true 560 }, 561 "operationName": "GetObject", 562 "operationParams": { 563 "Bucket": "bucketname", 564 "Key": "key" 565 } 566 } 567 ], 568 "params": { 569 "Bucket": "bucketname", 570 "Region": "us-west-2", 571 "ForcePathStyle": true, 572 "UseFIPS": false, 573 "Accelerate": false, 574 "UseDualStack": true 575 } 576 }, 577 { 578 "documentation": "Dual-stack endpoint + SDK::Host is error", 579 "expect": { 580 "error": "Cannot set dual-stack in combination with a custom endpoint." 581 }, 582 "operationInputs": [ 583 { 584 "builtInParams": { 585 "AWS::Region": "us-west-2", 586 "AWS::UseDualStack": true, 587 "SDK::Endpoint": "https://abc.com", 588 "AWS::S3::ForcePathStyle": true 589 }, 590 "operationName": "GetObject", 591 "operationParams": { 592 "Bucket": "bucketname", 593 "Key": "key" 594 } 595 } 596 ], 597 "params": { 598 "Bucket": "bucketname", 599 "Region": "us-west-2", 600 "ForcePathStyle": true, 601 "UseFIPS": false, 602 "Accelerate": false, 603 "UseDualStack": true, 604 "Endpoint": "https://abc.com" 605 } 606 }, 607 { 608 "documentation": "path style + ARN bucket", 609 "expect": { 610 "error": "Path-style addressing cannot be used with ARN buckets" 611 }, 612 "operationInputs": [ 613 { 614 "builtInParams": { 615 "AWS::Region": "us-west-2", 616 "AWS::S3::ForcePathStyle": true 617 }, 618 "operationName": "GetObject", 619 "operationParams": { 620 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 621 "Key": "key" 622 } 623 } 624 ], 625 "params": { 626 "Accelerate": false, 627 "Bucket": "arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 628 "ForcePathStyle": true, 629 "Region": "us-west-2", 630 "UseDualStack": false, 631 "UseFIPS": false 632 } 633 }, 634 { 635 "documentation": "implicit path style bucket + dualstack", 636 "expect": { 637 "endpoint": { 638 "properties": { 639 "authSchemes": [ 640 { 641 "name": "sigv4", 642 "signingName": "s3", 643 "signingRegion": "us-west-2", 644 "disableDoubleEncoding": true 645 } 646 ] 647 }, 648 "url": "https://s3.dualstack.us-west-2.amazonaws.com/99_ab" 649 } 650 }, 651 "operationInputs": [ 652 { 653 "builtInParams": { 654 "AWS::Region": "us-west-2", 655 "AWS::UseDualStack": true 656 }, 657 "operationName": "GetObject", 658 "operationParams": { 659 "Bucket": "99_ab", 660 "Key": "key" 661 } 662 } 663 ], 664 "params": { 665 "Accelerate": false, 666 "Bucket": "99_ab", 667 "Region": "us-west-2", 668 "UseDualStack": true, 669 "UseFIPS": false 670 } 671 }, 672 { 673 "documentation": "implicit path style bucket + dualstack", 674 "expect": { 675 "error": "Cannot set dual-stack in combination with a custom endpoint." 676 }, 677 "operationInputs": [ 678 { 679 "builtInParams": { 680 "AWS::Region": "us-west-2", 681 "AWS::UseDualStack": true, 682 "SDK::Endpoint": "http://abc.com" 683 }, 684 "operationName": "GetObject", 685 "operationParams": { 686 "Bucket": "99_ab", 687 "Key": "key" 688 } 689 } 690 ], 691 "params": { 692 "Accelerate": false, 693 "Bucket": "99_ab", 694 "Region": "us-west-2", 695 "UseDualStack": true, 696 "UseFIPS": false, 697 "Endpoint": "http://abc.com" 698 } 699 }, 700 { 701 "documentation": "don't allow URL injections in the bucket", 702 "expect": { 703 "endpoint": { 704 "properties": { 705 "authSchemes": [ 706 { 707 "name": "sigv4", 708 "signingName": "s3", 709 "signingRegion": "us-west-2", 710 "disableDoubleEncoding": true 711 } 712 ] 713 }, 714 "url": "https://s3.us-west-2.amazonaws.com/example.com%23" 715 } 716 }, 717 "operationInputs": [ 718 { 719 "builtInParams": { 720 "AWS::Region": "us-west-2" 721 }, 722 "operationName": "GetObject", 723 "operationParams": { 724 "Bucket": "example.com#", 725 "Key": "key" 726 } 727 } 728 ], 729 "params": { 730 "Bucket": "example.com#", 731 "Region": "us-west-2", 732 "UseDualStack": false, 733 "UseFIPS": false, 734 "Accelerate": false 735 } 736 }, 737 { 738 "documentation": "URI encode bucket names in the path", 739 "expect": { 740 "endpoint": { 741 "properties": { 742 "authSchemes": [ 743 { 744 "name": "sigv4", 745 "signingName": "s3", 746 "signingRegion": "us-west-2", 747 "disableDoubleEncoding": true 748 } 749 ] 750 }, 751 "url": "https://s3.us-west-2.amazonaws.com/bucket%20name" 752 } 753 }, 754 "operationInputs": [ 755 { 756 "builtInParams": { 757 "AWS::Region": "us-west-2" 758 }, 759 "operationName": "GetObject", 760 "operationParams": { 761 "Bucket": "bucket name", 762 "Key": "key" 763 } 764 } 765 ], 766 "params": { 767 "Bucket": "bucket name", 768 "Region": "us-west-2", 769 "UseDualStack": false, 770 "UseFIPS": false, 771 "Accelerate": false 772 } 773 }, 774 { 775 "documentation": "scheme is respected", 776 "expect": { 777 "endpoint": { 778 "properties": { 779 "authSchemes": [ 780 { 781 "name": "sigv4", 782 "signingName": "s3", 783 "signingRegion": "af-south-1", 784 "disableDoubleEncoding": true 785 } 786 ] 787 }, 788 "url": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab" 789 } 790 }, 791 "params": { 792 "Accelerate": false, 793 "Bucket": "99_ab", 794 "Endpoint": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 795 "Region": "af-south-1", 796 "UseDualStack": false, 797 "UseFIPS": false 798 } 799 }, 800 { 801 "documentation": "scheme is respected (virtual addressing)", 802 "expect": { 803 "endpoint": { 804 "properties": { 805 "authSchemes": [ 806 { 807 "name": "sigv4", 808 "signingName": "s3", 809 "signingRegion": "af-south-1", 810 "disableDoubleEncoding": true 811 } 812 ] 813 }, 814 "url": "http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo" 815 } 816 }, 817 "params": { 818 "Accelerate": false, 819 "Bucket": "bucketname", 820 "Endpoint": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo", 821 "Region": "af-south-1", 822 "UseDualStack": false, 823 "UseFIPS": false 824 } 825 }, 826 { 827 "documentation": "path style + implicit private link", 828 "expect": { 829 "endpoint": { 830 "properties": { 831 "authSchemes": [ 832 { 833 "name": "sigv4", 834 "signingName": "s3", 835 "signingRegion": "af-south-1", 836 "disableDoubleEncoding": true 837 } 838 ] 839 }, 840 "url": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab" 841 } 842 }, 843 "operationInputs": [ 844 { 845 "builtInParams": { 846 "AWS::Region": "af-south-1", 847 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 848 }, 849 "operationName": "GetObject", 850 "operationParams": { 851 "Bucket": "99_ab", 852 "Key": "key" 853 } 854 } 855 ], 856 "params": { 857 "Accelerate": false, 858 "Bucket": "99_ab", 859 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 860 "Region": "af-south-1", 861 "UseDualStack": false, 862 "UseFIPS": false 863 } 864 }, 865 { 866 "documentation": "invalid Endpoint override", 867 "expect": { 868 "error": "Custom endpoint `abcde://nota#url` was not a valid URI" 869 }, 870 "params": { 871 "Accelerate": false, 872 "Bucket": "bucketname", 873 "Endpoint": "abcde://nota#url", 874 "Region": "af-south-1", 875 "UseDualStack": false, 876 "UseFIPS": false 877 } 878 }, 879 { 880 "documentation": "using an IPv4 address forces path style", 881 "expect": { 882 "endpoint": { 883 "properties": { 884 "authSchemes": [ 885 { 886 "name": "sigv4", 887 "signingName": "s3", 888 "signingRegion": "af-south-1", 889 "disableDoubleEncoding": true 890 } 891 ] 892 }, 893 "url": "https://123.123.0.1/bucketname" 894 } 895 }, 896 "operationInputs": [ 897 { 898 "builtInParams": { 899 "AWS::Region": "af-south-1", 900 "SDK::Endpoint": "https://123.123.0.1" 901 }, 902 "operationName": "GetObject", 903 "operationParams": { 904 "Bucket": "bucketname", 905 "Key": "key" 906 } 907 } 908 ], 909 "params": { 910 "Accelerate": false, 911 "Bucket": "bucketname", 912 "Endpoint": "https://123.123.0.1", 913 "Region": "af-south-1", 914 "UseDualStack": false, 915 "UseFIPS": false 916 } 917 }, 918 { 919 "documentation": "vanilla access point arn with region mismatch and UseArnRegion=false", 920 "expect": { 921 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`" 922 }, 923 "operationInputs": [ 924 { 925 "builtInParams": { 926 "AWS::Region": "us-west-2", 927 "AWS::S3::UseArnRegion": false 928 }, 929 "operationName": "GetObject", 930 "operationParams": { 931 "Bucket": "arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint", 932 "Key": "key" 933 } 934 } 935 ], 936 "params": { 937 "Accelerate": false, 938 "Bucket": "arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint", 939 "ForcePathStyle": false, 940 "UseArnRegion": false, 941 "Region": "us-west-2", 942 "UseDualStack": false, 943 "UseFIPS": false 944 } 945 }, 946 { 947 "documentation": "vanilla access point arn with region mismatch and UseArnRegion unset", 948 "expect": { 949 "endpoint": { 950 "properties": { 951 "authSchemes": [ 952 { 953 "name": "sigv4", 954 "signingName": "s3", 955 "signingRegion": "us-west-2", 956 "disableDoubleEncoding": true 957 } 958 ] 959 }, 960 "url": "https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com" 961 } 962 }, 963 "operationInputs": [ 964 { 965 "builtInParams": { 966 "AWS::Region": "us-east-1" 967 }, 968 "operationName": "GetObject", 969 "operationParams": { 970 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 971 "Key": "key" 972 } 973 } 974 ], 975 "params": { 976 "Accelerate": false, 977 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 978 "ForcePathStyle": false, 979 "Region": "us-east-1", 980 "UseDualStack": false, 981 "UseFIPS": false 982 } 983 }, 984 { 985 "documentation": "vanilla access point arn with region mismatch and UseArnRegion=true", 986 "expect": { 987 "endpoint": { 988 "properties": { 989 "authSchemes": [ 990 { 991 "name": "sigv4", 992 "signingName": "s3", 993 "signingRegion": "us-west-2", 994 "disableDoubleEncoding": true 995 } 996 ] 997 }, 998 "url": "https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com" 999 } 1000 }, 1001 "operationInputs": [ 1002 { 1003 "builtInParams": { 1004 "AWS::Region": "us-east-1", 1005 "AWS::S3::UseArnRegion": true 1006 }, 1007 "operationName": "GetObject", 1008 "operationParams": { 1009 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 1010 "Key": "key" 1011 } 1012 } 1013 ], 1014 "params": { 1015 "Accelerate": false, 1016 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 1017 "ForcePathStyle": false, 1018 "UseArnRegion": true, 1019 "Region": "us-east-1", 1020 "UseDualStack": false, 1021 "UseFIPS": false 1022 } 1023 }, 1024 { 1025 "documentation": "subdomains are not allowed in virtual buckets", 1026 "expect": { 1027 "endpoint": { 1028 "properties": { 1029 "authSchemes": [ 1030 { 1031 "name": "sigv4", 1032 "signingName": "s3", 1033 "disableDoubleEncoding": true, 1034 "signingRegion": "us-east-1" 1035 } 1036 ] 1037 }, 1038 "url": "https://s3.us-east-1.amazonaws.com/bucket.name" 1039 } 1040 }, 1041 "operationInputs": [ 1042 { 1043 "builtInParams": { 1044 "AWS::Region": "us-east-1" 1045 }, 1046 "operationName": "GetObject", 1047 "operationParams": { 1048 "Bucket": "bucket.name", 1049 "Key": "key" 1050 } 1051 } 1052 ], 1053 "params": { 1054 "Bucket": "bucket.name", 1055 "Region": "us-east-1" 1056 } 1057 }, 1058 { 1059 "documentation": "bucket names with 3 characters are allowed in virtual buckets", 1060 "expect": { 1061 "endpoint": { 1062 "properties": { 1063 "authSchemes": [ 1064 { 1065 "name": "sigv4", 1066 "signingName": "s3", 1067 "disableDoubleEncoding": true, 1068 "signingRegion": "us-east-1" 1069 } 1070 ] 1071 }, 1072 "url": "https://aaa.s3.us-east-1.amazonaws.com" 1073 } 1074 }, 1075 "operationInputs": [ 1076 { 1077 "builtInParams": { 1078 "AWS::Region": "us-east-1" 1079 }, 1080 "operationName": "GetObject", 1081 "operationParams": { 1082 "Bucket": "aaa", 1083 "Key": "key" 1084 } 1085 } 1086 ], 1087 "params": { 1088 "Bucket": "aaa", 1089 "Region": "us-east-1" 1090 } 1091 }, 1092 { 1093 "documentation": "bucket names with fewer than 3 characters are not allowed in virtual host", 1094 "expect": { 1095 "endpoint": { 1096 "properties": { 1097 "authSchemes": [ 1098 { 1099 "name": "sigv4", 1100 "signingName": "s3", 1101 "disableDoubleEncoding": true, 1102 "signingRegion": "us-east-1" 1103 } 1104 ] 1105 }, 1106 "url": "https://s3.us-east-1.amazonaws.com/aa" 1107 } 1108 }, 1109 "operationInputs": [ 1110 { 1111 "builtInParams": { 1112 "AWS::Region": "us-east-1" 1113 }, 1114 "operationName": "GetObject", 1115 "operationParams": { 1116 "Bucket": "aa", 1117 "Key": "key" 1118 } 1119 } 1120 ], 1121 "params": { 1122 "Bucket": "aa", 1123 "Region": "us-east-1" 1124 } 1125 }, 1126 { 1127 "documentation": "bucket names with uppercase characters are not allowed in virtual host", 1128 "expect": { 1129 "endpoint": { 1130 "properties": { 1131 "authSchemes": [ 1132 { 1133 "name": "sigv4", 1134 "signingName": "s3", 1135 "disableDoubleEncoding": true, 1136 "signingRegion": "us-east-1" 1137 } 1138 ] 1139 }, 1140 "url": "https://s3.us-east-1.amazonaws.com/BucketName" 1141 } 1142 }, 1143 "operationInputs": [ 1144 { 1145 "builtInParams": { 1146 "AWS::Region": "us-east-1" 1147 }, 1148 "operationName": "GetObject", 1149 "operationParams": { 1150 "Bucket": "BucketName", 1151 "Key": "key" 1152 } 1153 } 1154 ], 1155 "params": { 1156 "Bucket": "BucketName", 1157 "Region": "us-east-1" 1158 } 1159 }, 1160 { 1161 "documentation": "subdomains are allowed in virtual buckets on http endpoints", 1162 "expect": { 1163 "endpoint": { 1164 "properties": { 1165 "authSchemes": [ 1166 { 1167 "name": "sigv4", 1168 "signingName": "s3", 1169 "disableDoubleEncoding": true, 1170 "signingRegion": "us-east-1" 1171 } 1172 ] 1173 }, 1174 "url": "http://bucket.name.example.com" 1175 } 1176 }, 1177 "operationInputs": [ 1178 { 1179 "builtInParams": { 1180 "AWS::Region": "us-east-1", 1181 "SDK::Endpoint": "http://example.com" 1182 }, 1183 "operationName": "GetObject", 1184 "operationParams": { 1185 "Bucket": "bucket.name", 1186 "Key": "key" 1187 } 1188 } 1189 ], 1190 "params": { 1191 "Bucket": "bucket.name", 1192 "Region": "us-east-1", 1193 "Endpoint": "http://example.com" 1194 } 1195 }, 1196 { 1197 "documentation": "no region set", 1198 "expect": { 1199 "error": "A region must be set when sending requests to S3." 1200 }, 1201 "params": { 1202 "Bucket": "bucket-name" 1203 } 1204 }, 1205 { 1206 "documentation": "UseGlobalEndpoints=true, region=us-east-1 uses the global endpoint", 1207 "expect": { 1208 "endpoint": { 1209 "properties": { 1210 "authSchemes": [ 1211 { 1212 "name": "sigv4", 1213 "signingName": "s3", 1214 "signingRegion": "us-east-1", 1215 "disableDoubleEncoding": true 1216 } 1217 ] 1218 }, 1219 "url": "https://s3.amazonaws.com" 1220 } 1221 }, 1222 "operationInputs": [ 1223 { 1224 "builtInParams": { 1225 "AWS::Region": "us-east-1", 1226 "AWS::S3::UseGlobalEndpoint": true 1227 }, 1228 "operationName": "ListBuckets" 1229 } 1230 ], 1231 "params": { 1232 "Region": "us-east-1", 1233 "UseGlobalEndpoint": true, 1234 "UseFIPS": false, 1235 "UseDualStack": false, 1236 "Accelerate": false 1237 } 1238 }, 1239 { 1240 "documentation": "UseGlobalEndpoints=true, region=us-west-2 uses the regional endpoint", 1241 "expect": { 1242 "endpoint": { 1243 "properties": { 1244 "authSchemes": [ 1245 { 1246 "name": "sigv4", 1247 "signingName": "s3", 1248 "signingRegion": "us-west-2", 1249 "disableDoubleEncoding": true 1250 } 1251 ] 1252 }, 1253 "url": "https://s3.us-west-2.amazonaws.com" 1254 } 1255 }, 1256 "operationInputs": [ 1257 { 1258 "builtInParams": { 1259 "AWS::Region": "us-west-2", 1260 "AWS::S3::UseGlobalEndpoint": true 1261 }, 1262 "operationName": "ListBuckets" 1263 } 1264 ], 1265 "params": { 1266 "Region": "us-west-2", 1267 "UseGlobalEndpoint": true, 1268 "UseFIPS": false, 1269 "UseDualStack": false, 1270 "Accelerate": false 1271 } 1272 }, 1273 { 1274 "documentation": "UseGlobalEndpoints=true, region=cn-north-1 uses the regional endpoint", 1275 "expect": { 1276 "endpoint": { 1277 "properties": { 1278 "authSchemes": [ 1279 { 1280 "name": "sigv4", 1281 "signingName": "s3", 1282 "signingRegion": "cn-north-1", 1283 "disableDoubleEncoding": true 1284 } 1285 ] 1286 }, 1287 "url": "https://s3.cn-north-1.amazonaws.com.cn" 1288 } 1289 }, 1290 "operationInputs": [ 1291 { 1292 "builtInParams": { 1293 "AWS::Region": "cn-north-1", 1294 "AWS::S3::UseGlobalEndpoint": true 1295 }, 1296 "operationName": "ListBuckets" 1297 } 1298 ], 1299 "params": { 1300 "Region": "cn-north-1", 1301 "UseGlobalEndpoint": true, 1302 "UseFIPS": false, 1303 "UseDualStack": false, 1304 "Accelerate": false 1305 } 1306 }, 1307 { 1308 "documentation": "UseGlobalEndpoints=true, region=us-east-1, fips=true uses the regional endpoint with fips", 1309 "expect": { 1310 "endpoint": { 1311 "properties": { 1312 "authSchemes": [ 1313 { 1314 "name": "sigv4", 1315 "signingName": "s3", 1316 "signingRegion": "us-east-1", 1317 "disableDoubleEncoding": true 1318 } 1319 ] 1320 }, 1321 "url": "https://s3-fips.us-east-1.amazonaws.com" 1322 } 1323 }, 1324 "operationInputs": [ 1325 { 1326 "builtInParams": { 1327 "AWS::Region": "us-east-1", 1328 "AWS::UseFIPS": true, 1329 "AWS::S3::UseGlobalEndpoint": true 1330 }, 1331 "operationName": "ListBuckets" 1332 } 1333 ], 1334 "params": { 1335 "Region": "us-east-1", 1336 "UseGlobalEndpoint": true, 1337 "UseFIPS": true, 1338 "UseDualStack": false, 1339 "Accelerate": false 1340 } 1341 }, 1342 { 1343 "documentation": "UseGlobalEndpoints=true, region=us-east-1, dualstack=true uses the regional endpoint with dualstack", 1344 "expect": { 1345 "endpoint": { 1346 "properties": { 1347 "authSchemes": [ 1348 { 1349 "name": "sigv4", 1350 "signingName": "s3", 1351 "signingRegion": "us-east-1", 1352 "disableDoubleEncoding": true 1353 } 1354 ] 1355 }, 1356 "url": "https://s3.dualstack.us-east-1.amazonaws.com" 1357 } 1358 }, 1359 "operationInputs": [ 1360 { 1361 "builtInParams": { 1362 "AWS::Region": "us-east-1", 1363 "AWS::UseDualStack": true, 1364 "AWS::S3::UseGlobalEndpoint": true 1365 }, 1366 "operationName": "ListBuckets" 1367 } 1368 ], 1369 "params": { 1370 "Region": "us-east-1", 1371 "UseGlobalEndpoint": true, 1372 "UseFIPS": false, 1373 "UseDualStack": true, 1374 "Accelerate": false 1375 } 1376 }, 1377 { 1378 "documentation": "UseGlobalEndpoints=true, region=us-east-1, dualstack and fips uses the regional endpoint with fips/dualstack", 1379 "expect": { 1380 "endpoint": { 1381 "properties": { 1382 "authSchemes": [ 1383 { 1384 "name": "sigv4", 1385 "signingName": "s3", 1386 "signingRegion": "us-east-1", 1387 "disableDoubleEncoding": true 1388 } 1389 ] 1390 }, 1391 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com" 1392 } 1393 }, 1394 "operationInputs": [ 1395 { 1396 "builtInParams": { 1397 "AWS::Region": "us-east-1", 1398 "AWS::UseFIPS": true, 1399 "AWS::UseDualStack": true, 1400 "AWS::S3::UseGlobalEndpoint": true 1401 }, 1402 "operationName": "ListBuckets" 1403 } 1404 ], 1405 "params": { 1406 "Region": "us-east-1", 1407 "UseGlobalEndpoint": true, 1408 "UseFIPS": true, 1409 "UseDualStack": true, 1410 "Accelerate": false 1411 } 1412 }, 1413 { 1414 "documentation": "UseGlobalEndpoints=true, region=us-east-1 with custom endpoint, uses custom", 1415 "expect": { 1416 "endpoint": { 1417 "properties": { 1418 "authSchemes": [ 1419 { 1420 "name": "sigv4", 1421 "signingName": "s3", 1422 "signingRegion": "us-east-1", 1423 "disableDoubleEncoding": true 1424 } 1425 ] 1426 }, 1427 "url": "https://example.com" 1428 } 1429 }, 1430 "operationInputs": [ 1431 { 1432 "builtInParams": { 1433 "AWS::Region": "us-east-1", 1434 "SDK::Endpoint": "https://example.com", 1435 "AWS::S3::UseGlobalEndpoint": true 1436 }, 1437 "operationName": "ListBuckets" 1438 } 1439 ], 1440 "params": { 1441 "Region": "us-east-1", 1442 "Endpoint": "https://example.com", 1443 "UseGlobalEndpoint": true, 1444 "UseFIPS": false, 1445 "UseDualStack": false, 1446 "Accelerate": false 1447 } 1448 }, 1449 { 1450 "documentation": "UseGlobalEndpoints=true, region=us-west-2 with custom endpoint, uses custom", 1451 "expect": { 1452 "endpoint": { 1453 "properties": { 1454 "authSchemes": [ 1455 { 1456 "name": "sigv4", 1457 "signingName": "s3", 1458 "signingRegion": "us-west-2", 1459 "disableDoubleEncoding": true 1460 } 1461 ] 1462 }, 1463 "url": "https://example.com" 1464 } 1465 }, 1466 "operationInputs": [ 1467 { 1468 "builtInParams": { 1469 "AWS::Region": "us-west-2", 1470 "SDK::Endpoint": "https://example.com", 1471 "AWS::S3::UseGlobalEndpoint": true 1472 }, 1473 "operationName": "ListBuckets" 1474 } 1475 ], 1476 "params": { 1477 "Region": "us-west-2", 1478 "Endpoint": "https://example.com", 1479 "UseGlobalEndpoint": true, 1480 "UseFIPS": false, 1481 "UseDualStack": false, 1482 "Accelerate": false 1483 } 1484 }, 1485 { 1486 "documentation": "UseGlobalEndpoints=true, region=us-east-1 with accelerate on non bucket case uses the global endpoint and ignores accelerate", 1487 "expect": { 1488 "endpoint": { 1489 "properties": { 1490 "authSchemes": [ 1491 { 1492 "name": "sigv4", 1493 "signingName": "s3", 1494 "signingRegion": "us-east-1", 1495 "disableDoubleEncoding": true 1496 } 1497 ] 1498 }, 1499 "url": "https://s3.amazonaws.com" 1500 } 1501 }, 1502 "operationInputs": [ 1503 { 1504 "builtInParams": { 1505 "AWS::Region": "us-east-1", 1506 "AWS::S3::Accelerate": true, 1507 "AWS::S3::UseGlobalEndpoint": true 1508 }, 1509 "operationName": "ListBuckets" 1510 } 1511 ], 1512 "params": { 1513 "Region": "us-east-1", 1514 "UseGlobalEndpoint": true, 1515 "UseFIPS": false, 1516 "UseDualStack": false, 1517 "Accelerate": true 1518 } 1519 }, 1520 { 1521 "documentation": "aws-global region uses the global endpoint", 1522 "expect": { 1523 "endpoint": { 1524 "properties": { 1525 "authSchemes": [ 1526 { 1527 "name": "sigv4", 1528 "signingName": "s3", 1529 "signingRegion": "us-east-1", 1530 "disableDoubleEncoding": true 1531 } 1532 ] 1533 }, 1534 "url": "https://s3.amazonaws.com" 1535 } 1536 }, 1537 "operationInputs": [ 1538 { 1539 "builtInParams": { 1540 "AWS::Region": "aws-global" 1541 }, 1542 "operationName": "ListBuckets" 1543 } 1544 ], 1545 "params": { 1546 "Region": "aws-global", 1547 "UseFIPS": false, 1548 "UseDualStack": false, 1549 "Accelerate": false 1550 } 1551 }, 1552 { 1553 "documentation": "aws-global region with fips uses the regional endpoint", 1554 "expect": { 1555 "endpoint": { 1556 "properties": { 1557 "authSchemes": [ 1558 { 1559 "name": "sigv4", 1560 "signingName": "s3", 1561 "signingRegion": "us-east-1", 1562 "disableDoubleEncoding": true 1563 } 1564 ] 1565 }, 1566 "url": "https://s3-fips.us-east-1.amazonaws.com" 1567 } 1568 }, 1569 "operationInputs": [ 1570 { 1571 "builtInParams": { 1572 "AWS::Region": "aws-global", 1573 "AWS::UseFIPS": true 1574 }, 1575 "operationName": "ListBuckets" 1576 } 1577 ], 1578 "params": { 1579 "Region": "aws-global", 1580 "UseFIPS": true, 1581 "UseDualStack": false, 1582 "Accelerate": false 1583 } 1584 }, 1585 { 1586 "documentation": "aws-global region with dualstack uses the regional endpoint", 1587 "expect": { 1588 "endpoint": { 1589 "properties": { 1590 "authSchemes": [ 1591 { 1592 "name": "sigv4", 1593 "signingName": "s3", 1594 "signingRegion": "us-east-1", 1595 "disableDoubleEncoding": true 1596 } 1597 ] 1598 }, 1599 "url": "https://s3.dualstack.us-east-1.amazonaws.com" 1600 } 1601 }, 1602 "operationInputs": [ 1603 { 1604 "builtInParams": { 1605 "AWS::Region": "aws-global", 1606 "AWS::UseDualStack": true 1607 }, 1608 "operationName": "ListBuckets" 1609 } 1610 ], 1611 "params": { 1612 "Region": "aws-global", 1613 "UseFIPS": false, 1614 "UseDualStack": true, 1615 "Accelerate": false 1616 } 1617 }, 1618 { 1619 "documentation": "aws-global region with fips and dualstack uses the regional endpoint", 1620 "expect": { 1621 "endpoint": { 1622 "properties": { 1623 "authSchemes": [ 1624 { 1625 "name": "sigv4", 1626 "signingName": "s3", 1627 "signingRegion": "us-east-1", 1628 "disableDoubleEncoding": true 1629 } 1630 ] 1631 }, 1632 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com" 1633 } 1634 }, 1635 "operationInputs": [ 1636 { 1637 "builtInParams": { 1638 "AWS::Region": "aws-global", 1639 "AWS::UseFIPS": true, 1640 "AWS::UseDualStack": true 1641 }, 1642 "operationName": "ListBuckets" 1643 } 1644 ], 1645 "params": { 1646 "Region": "aws-global", 1647 "UseFIPS": true, 1648 "UseDualStack": true, 1649 "Accelerate": false 1650 } 1651 }, 1652 { 1653 "documentation": "aws-global region with accelerate on non-bucket case, uses global endpoint and ignores accelerate", 1654 "expect": { 1655 "endpoint": { 1656 "properties": { 1657 "authSchemes": [ 1658 { 1659 "name": "sigv4", 1660 "signingName": "s3", 1661 "signingRegion": "us-east-1", 1662 "disableDoubleEncoding": true 1663 } 1664 ] 1665 }, 1666 "url": "https://s3.amazonaws.com" 1667 } 1668 }, 1669 "operationInputs": [ 1670 { 1671 "builtInParams": { 1672 "AWS::Region": "aws-global", 1673 "AWS::S3::Accelerate": true 1674 }, 1675 "operationName": "ListBuckets" 1676 } 1677 ], 1678 "params": { 1679 "Region": "aws-global", 1680 "UseFIPS": false, 1681 "UseDualStack": false, 1682 "Accelerate": true 1683 } 1684 }, 1685 { 1686 "documentation": "aws-global region with custom endpoint, uses custom", 1687 "expect": { 1688 "endpoint": { 1689 "properties": { 1690 "authSchemes": [ 1691 { 1692 "name": "sigv4", 1693 "signingName": "s3", 1694 "signingRegion": "us-east-1", 1695 "disableDoubleEncoding": true 1696 } 1697 ] 1698 }, 1699 "url": "https://example.com" 1700 } 1701 }, 1702 "operationInputs": [ 1703 { 1704 "builtInParams": { 1705 "AWS::Region": "aws-global", 1706 "SDK::Endpoint": "https://example.com" 1707 }, 1708 "operationName": "ListBuckets" 1709 } 1710 ], 1711 "params": { 1712 "Region": "aws-global", 1713 "Endpoint": "https://example.com", 1714 "UseGlobalEndpoint": false, 1715 "UseFIPS": false, 1716 "UseDualStack": false, 1717 "Accelerate": false 1718 } 1719 }, 1720 { 1721 "documentation": "virtual addressing, aws-global region uses the global endpoint", 1722 "expect": { 1723 "endpoint": { 1724 "properties": { 1725 "authSchemes": [ 1726 { 1727 "name": "sigv4", 1728 "signingName": "s3", 1729 "signingRegion": "us-east-1", 1730 "disableDoubleEncoding": true 1731 } 1732 ] 1733 }, 1734 "url": "https://bucket-name.s3.amazonaws.com" 1735 } 1736 }, 1737 "operationInputs": [ 1738 { 1739 "builtInParams": { 1740 "AWS::Region": "aws-global" 1741 }, 1742 "operationName": "GetObject", 1743 "operationParams": { 1744 "Bucket": "bucket-name", 1745 "Key": "key" 1746 } 1747 } 1748 ], 1749 "params": { 1750 "Region": "aws-global", 1751 "Bucket": "bucket-name", 1752 "UseFIPS": false, 1753 "UseDualStack": false, 1754 "Accelerate": false 1755 } 1756 }, 1757 { 1758 "documentation": "virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.", 1759 "expect": { 1760 "endpoint": { 1761 "properties": { 1762 "authSchemes": [ 1763 { 1764 "name": "sigv4", 1765 "signingName": "s3", 1766 "signingRegion": "us-east-1", 1767 "disableDoubleEncoding": true 1768 } 1769 ] 1770 }, 1771 "url": "https://bucket-name.s3.amazonaws.com" 1772 } 1773 }, 1774 "operationInputs": [ 1775 { 1776 "builtInParams": { 1777 "AWS::Region": "aws-global" 1778 }, 1779 "operationName": "ListObjects", 1780 "operationParams": { 1781 "Bucket": "bucket-name", 1782 "Prefix": "prefix" 1783 } 1784 } 1785 ], 1786 "params": { 1787 "Region": "aws-global", 1788 "Bucket": "bucket-name", 1789 "UseFIPS": false, 1790 "UseDualStack": false, 1791 "Accelerate": false, 1792 "Prefix": "prefix", 1793 "Key": "key" 1794 } 1795 }, 1796 { 1797 "documentation": "virtual addressing, aws-global region with fips uses the regional fips endpoint", 1798 "expect": { 1799 "endpoint": { 1800 "properties": { 1801 "authSchemes": [ 1802 { 1803 "name": "sigv4", 1804 "signingName": "s3", 1805 "signingRegion": "us-east-1", 1806 "disableDoubleEncoding": true 1807 } 1808 ] 1809 }, 1810 "url": "https://bucket-name.s3-fips.us-east-1.amazonaws.com" 1811 } 1812 }, 1813 "operationInputs": [ 1814 { 1815 "builtInParams": { 1816 "AWS::Region": "aws-global", 1817 "AWS::UseFIPS": true 1818 }, 1819 "operationName": "GetObject", 1820 "operationParams": { 1821 "Bucket": "bucket-name", 1822 "Key": "key" 1823 } 1824 } 1825 ], 1826 "params": { 1827 "Region": "aws-global", 1828 "Bucket": "bucket-name", 1829 "UseFIPS": true, 1830 "UseDualStack": false, 1831 "Accelerate": false 1832 } 1833 }, 1834 { 1835 "documentation": "virtual addressing, aws-global region with dualstack uses the regional dualstack endpoint", 1836 "expect": { 1837 "endpoint": { 1838 "properties": { 1839 "authSchemes": [ 1840 { 1841 "name": "sigv4", 1842 "signingName": "s3", 1843 "signingRegion": "us-east-1", 1844 "disableDoubleEncoding": true 1845 } 1846 ] 1847 }, 1848 "url": "https://bucket-name.s3.dualstack.us-east-1.amazonaws.com" 1849 } 1850 }, 1851 "operationInputs": [ 1852 { 1853 "builtInParams": { 1854 "AWS::Region": "aws-global", 1855 "AWS::UseDualStack": true 1856 }, 1857 "operationName": "GetObject", 1858 "operationParams": { 1859 "Bucket": "bucket-name", 1860 "Key": "key" 1861 } 1862 } 1863 ], 1864 "params": { 1865 "Region": "aws-global", 1866 "Bucket": "bucket-name", 1867 "UseFIPS": false, 1868 "UseDualStack": true, 1869 "Accelerate": false 1870 } 1871 }, 1872 { 1873 "documentation": "virtual addressing, aws-global region with fips/dualstack uses the regional fips/dualstack endpoint", 1874 "expect": { 1875 "endpoint": { 1876 "properties": { 1877 "authSchemes": [ 1878 { 1879 "name": "sigv4", 1880 "signingName": "s3", 1881 "signingRegion": "us-east-1", 1882 "disableDoubleEncoding": true 1883 } 1884 ] 1885 }, 1886 "url": "https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com" 1887 } 1888 }, 1889 "operationInputs": [ 1890 { 1891 "builtInParams": { 1892 "AWS::Region": "aws-global", 1893 "AWS::UseFIPS": true, 1894 "AWS::UseDualStack": true 1895 }, 1896 "operationName": "GetObject", 1897 "operationParams": { 1898 "Bucket": "bucket-name", 1899 "Key": "key" 1900 } 1901 } 1902 ], 1903 "params": { 1904 "Region": "aws-global", 1905 "Bucket": "bucket-name", 1906 "UseFIPS": true, 1907 "UseDualStack": true, 1908 "Accelerate": false 1909 } 1910 }, 1911 { 1912 "documentation": "virtual addressing, aws-global region with accelerate uses the global accelerate endpoint", 1913 "expect": { 1914 "endpoint": { 1915 "properties": { 1916 "authSchemes": [ 1917 { 1918 "name": "sigv4", 1919 "signingName": "s3", 1920 "signingRegion": "us-east-1", 1921 "disableDoubleEncoding": true 1922 } 1923 ] 1924 }, 1925 "url": "https://bucket-name.s3-accelerate.amazonaws.com" 1926 } 1927 }, 1928 "operationInputs": [ 1929 { 1930 "builtInParams": { 1931 "AWS::Region": "aws-global", 1932 "AWS::S3::Accelerate": true 1933 }, 1934 "operationName": "GetObject", 1935 "operationParams": { 1936 "Bucket": "bucket-name", 1937 "Key": "key" 1938 } 1939 } 1940 ], 1941 "params": { 1942 "Region": "aws-global", 1943 "Bucket": "bucket-name", 1944 "UseFIPS": false, 1945 "UseDualStack": false, 1946 "Accelerate": true 1947 } 1948 }, 1949 { 1950 "documentation": "virtual addressing, aws-global region with custom endpoint", 1951 "expect": { 1952 "endpoint": { 1953 "properties": { 1954 "authSchemes": [ 1955 { 1956 "name": "sigv4", 1957 "signingName": "s3", 1958 "signingRegion": "us-east-1", 1959 "disableDoubleEncoding": true 1960 } 1961 ] 1962 }, 1963 "url": "https://bucket-name.example.com" 1964 } 1965 }, 1966 "operationInputs": [ 1967 { 1968 "builtInParams": { 1969 "AWS::Region": "aws-global", 1970 "SDK::Endpoint": "https://example.com" 1971 }, 1972 "operationName": "GetObject", 1973 "operationParams": { 1974 "Bucket": "bucket-name", 1975 "Key": "key" 1976 } 1977 } 1978 ], 1979 "params": { 1980 "Region": "aws-global", 1981 "Endpoint": "https://example.com", 1982 "Bucket": "bucket-name", 1983 "UseFIPS": false, 1984 "UseDualStack": false, 1985 "Accelerate": false 1986 } 1987 }, 1988 { 1989 "documentation": "virtual addressing, UseGlobalEndpoint and us-east-1 region uses the global endpoint", 1990 "expect": { 1991 "endpoint": { 1992 "properties": { 1993 "authSchemes": [ 1994 { 1995 "name": "sigv4", 1996 "signingName": "s3", 1997 "signingRegion": "us-east-1", 1998 "disableDoubleEncoding": true 1999 } 2000 ] 2001 }, 2002 "url": "https://bucket-name.s3.amazonaws.com" 2003 } 2004 }, 2005 "operationInputs": [ 2006 { 2007 "builtInParams": { 2008 "AWS::Region": "us-east-1", 2009 "AWS::S3::UseGlobalEndpoint": true 2010 }, 2011 "operationName": "GetObject", 2012 "operationParams": { 2013 "Bucket": "bucket-name", 2014 "Key": "key" 2015 } 2016 } 2017 ], 2018 "params": { 2019 "Region": "us-east-1", 2020 "UseGlobalEndpoint": true, 2021 "Bucket": "bucket-name", 2022 "UseFIPS": false, 2023 "UseDualStack": false, 2024 "Accelerate": false 2025 } 2026 }, 2027 { 2028 "documentation": "virtual addressing, UseGlobalEndpoint and us-west-2 region uses the regional endpoint", 2029 "expect": { 2030 "endpoint": { 2031 "properties": { 2032 "authSchemes": [ 2033 { 2034 "name": "sigv4", 2035 "signingName": "s3", 2036 "signingRegion": "us-west-2", 2037 "disableDoubleEncoding": true 2038 } 2039 ] 2040 }, 2041 "url": "https://bucket-name.s3.us-west-2.amazonaws.com" 2042 } 2043 }, 2044 "operationInputs": [ 2045 { 2046 "builtInParams": { 2047 "AWS::Region": "us-west-2", 2048 "AWS::S3::UseGlobalEndpoint": true 2049 }, 2050 "operationName": "GetObject", 2051 "operationParams": { 2052 "Bucket": "bucket-name", 2053 "Key": "key" 2054 } 2055 } 2056 ], 2057 "params": { 2058 "Region": "us-west-2", 2059 "UseGlobalEndpoint": true, 2060 "Bucket": "bucket-name", 2061 "UseFIPS": false, 2062 "UseDualStack": false, 2063 "Accelerate": false 2064 } 2065 }, 2066 { 2067 "documentation": "virtual addressing, UseGlobalEndpoint and us-east-1 region and fips uses the regional fips endpoint", 2068 "expect": { 2069 "endpoint": { 2070 "properties": { 2071 "authSchemes": [ 2072 { 2073 "name": "sigv4", 2074 "signingName": "s3", 2075 "signingRegion": "us-east-1", 2076 "disableDoubleEncoding": true 2077 } 2078 ] 2079 }, 2080 "url": "https://bucket-name.s3-fips.us-east-1.amazonaws.com" 2081 } 2082 }, 2083 "operationInputs": [ 2084 { 2085 "builtInParams": { 2086 "AWS::Region": "us-east-1", 2087 "AWS::UseFIPS": true, 2088 "AWS::S3::UseGlobalEndpoint": true 2089 }, 2090 "operationName": "GetObject", 2091 "operationParams": { 2092 "Bucket": "bucket-name", 2093 "Key": "key" 2094 } 2095 } 2096 ], 2097 "params": { 2098 "Region": "us-east-1", 2099 "UseGlobalEndpoint": true, 2100 "Bucket": "bucket-name", 2101 "UseFIPS": true, 2102 "UseDualStack": false, 2103 "Accelerate": false 2104 } 2105 }, 2106 { 2107 "documentation": "virtual addressing, UseGlobalEndpoint and us-east-1 region and dualstack uses the regional dualstack endpoint", 2108 "expect": { 2109 "endpoint": { 2110 "properties": { 2111 "authSchemes": [ 2112 { 2113 "name": "sigv4", 2114 "signingName": "s3", 2115 "signingRegion": "us-east-1", 2116 "disableDoubleEncoding": true 2117 } 2118 ] 2119 }, 2120 "url": "https://bucket-name.s3.dualstack.us-east-1.amazonaws.com" 2121 } 2122 }, 2123 "operationInputs": [ 2124 { 2125 "builtInParams": { 2126 "AWS::Region": "us-east-1", 2127 "AWS::UseDualStack": true, 2128 "AWS::S3::UseGlobalEndpoint": true 2129 }, 2130 "operationName": "GetObject", 2131 "operationParams": { 2132 "Bucket": "bucket-name", 2133 "Key": "key" 2134 } 2135 } 2136 ], 2137 "params": { 2138 "Region": "us-east-1", 2139 "UseGlobalEndpoint": true, 2140 "Bucket": "bucket-name", 2141 "UseFIPS": false, 2142 "UseDualStack": true, 2143 "Accelerate": false 2144 } 2145 }, 2146 { 2147 "documentation": "virtual addressing, UseGlobalEndpoint and us-east-1 region and accelerate uses the global accelerate endpoint", 2148 "expect": { 2149 "endpoint": { 2150 "properties": { 2151 "authSchemes": [ 2152 { 2153 "name": "sigv4", 2154 "signingName": "s3", 2155 "signingRegion": "us-east-1", 2156 "disableDoubleEncoding": true 2157 } 2158 ] 2159 }, 2160 "url": "https://bucket-name.s3-accelerate.amazonaws.com" 2161 } 2162 }, 2163 "operationInputs": [ 2164 { 2165 "builtInParams": { 2166 "AWS::Region": "us-east-1", 2167 "AWS::S3::Accelerate": true, 2168 "AWS::S3::UseGlobalEndpoint": true 2169 }, 2170 "operationName": "GetObject", 2171 "operationParams": { 2172 "Bucket": "bucket-name", 2173 "Key": "key" 2174 } 2175 } 2176 ], 2177 "params": { 2178 "Region": "us-east-1", 2179 "UseGlobalEndpoint": true, 2180 "Bucket": "bucket-name", 2181 "UseFIPS": false, 2182 "UseDualStack": false, 2183 "Accelerate": true 2184 } 2185 }, 2186 { 2187 "documentation": "virtual addressing, UseGlobalEndpoint and us-east-1 region with custom endpoint", 2188 "expect": { 2189 "endpoint": { 2190 "properties": { 2191 "authSchemes": [ 2192 { 2193 "name": "sigv4", 2194 "signingName": "s3", 2195 "signingRegion": "us-east-1", 2196 "disableDoubleEncoding": true 2197 } 2198 ] 2199 }, 2200 "url": "https://bucket-name.example.com" 2201 } 2202 }, 2203 "operationInputs": [ 2204 { 2205 "builtInParams": { 2206 "AWS::Region": "us-east-1", 2207 "SDK::Endpoint": "https://example.com", 2208 "AWS::S3::UseGlobalEndpoint": true 2209 }, 2210 "operationName": "GetObject", 2211 "operationParams": { 2212 "Bucket": "bucket-name", 2213 "Key": "key" 2214 } 2215 } 2216 ], 2217 "params": { 2218 "Region": "us-east-1", 2219 "Endpoint": "https://example.com", 2220 "UseGlobalEndpoint": true, 2221 "Bucket": "bucket-name", 2222 "UseFIPS": false, 2223 "UseDualStack": false, 2224 "Accelerate": false 2225 } 2226 }, 2227 { 2228 "documentation": "ForcePathStyle, aws-global region uses the global endpoint", 2229 "expect": { 2230 "endpoint": { 2231 "properties": { 2232 "authSchemes": [ 2233 { 2234 "name": "sigv4", 2235 "signingName": "s3", 2236 "signingRegion": "us-east-1", 2237 "disableDoubleEncoding": true 2238 } 2239 ] 2240 }, 2241 "url": "https://s3.amazonaws.com/bucket-name" 2242 } 2243 }, 2244 "operationInputs": [ 2245 { 2246 "builtInParams": { 2247 "AWS::Region": "aws-global", 2248 "AWS::S3::ForcePathStyle": true 2249 }, 2250 "operationName": "GetObject", 2251 "operationParams": { 2252 "Bucket": "bucket-name", 2253 "Key": "key" 2254 } 2255 } 2256 ], 2257 "params": { 2258 "Region": "aws-global", 2259 "Bucket": "bucket-name", 2260 "ForcePathStyle": true, 2261 "UseFIPS": false, 2262 "UseDualStack": false, 2263 "Accelerate": false 2264 } 2265 }, 2266 { 2267 "documentation": "ForcePathStyle, aws-global region with fips is invalid", 2268 "expect": { 2269 "endpoint": { 2270 "properties": { 2271 "authSchemes": [ 2272 { 2273 "signingName": "s3", 2274 "signingRegion": "us-east-1", 2275 "disableDoubleEncoding": true, 2276 "name": "sigv4" 2277 } 2278 ] 2279 }, 2280 "url": "https://s3-fips.us-east-1.amazonaws.com/bucket-name" 2281 } 2282 }, 2283 "params": { 2284 "Region": "aws-global", 2285 "Bucket": "bucket-name", 2286 "ForcePathStyle": true, 2287 "UseFIPS": true, 2288 "UseDualStack": false, 2289 "Accelerate": false 2290 } 2291 }, 2292 { 2293 "documentation": "ForcePathStyle, aws-global region with dualstack uses regional dualstack endpoint", 2294 "expect": { 2295 "endpoint": { 2296 "properties": { 2297 "authSchemes": [ 2298 { 2299 "name": "sigv4", 2300 "signingName": "s3", 2301 "signingRegion": "us-east-1", 2302 "disableDoubleEncoding": true 2303 } 2304 ] 2305 }, 2306 "url": "https://s3.dualstack.us-east-1.amazonaws.com/bucket-name" 2307 } 2308 }, 2309 "operationInputs": [ 2310 { 2311 "builtInParams": { 2312 "AWS::Region": "aws-global", 2313 "AWS::UseDualStack": true, 2314 "AWS::S3::ForcePathStyle": true 2315 }, 2316 "operationName": "GetObject", 2317 "operationParams": { 2318 "Bucket": "bucket-name", 2319 "Key": "key" 2320 } 2321 } 2322 ], 2323 "params": { 2324 "Region": "aws-global", 2325 "Bucket": "bucket-name", 2326 "ForcePathStyle": true, 2327 "UseFIPS": false, 2328 "UseDualStack": true, 2329 "Accelerate": false 2330 } 2331 }, 2332 { 2333 "documentation": "ForcePathStyle, aws-global region custom endpoint uses the custom endpoint", 2334 "expect": { 2335 "endpoint": { 2336 "properties": { 2337 "authSchemes": [ 2338 { 2339 "name": "sigv4", 2340 "signingName": "s3", 2341 "signingRegion": "us-east-1", 2342 "disableDoubleEncoding": true 2343 } 2344 ] 2345 }, 2346 "url": "https://example.com/bucket-name" 2347 } 2348 }, 2349 "operationInputs": [ 2350 { 2351 "builtInParams": { 2352 "AWS::Region": "aws-global", 2353 "SDK::Endpoint": "https://example.com", 2354 "AWS::S3::ForcePathStyle": true 2355 }, 2356 "operationName": "GetObject", 2357 "operationParams": { 2358 "Bucket": "bucket-name", 2359 "Key": "key" 2360 } 2361 } 2362 ], 2363 "params": { 2364 "Region": "aws-global", 2365 "Endpoint": "https://example.com", 2366 "Bucket": "bucket-name", 2367 "ForcePathStyle": true, 2368 "UseFIPS": false, 2369 "UseDualStack": false, 2370 "Accelerate": false 2371 } 2372 }, 2373 { 2374 "documentation": "ForcePathStyle, UseGlobalEndpoint us-east-1 region uses the global endpoint", 2375 "expect": { 2376 "endpoint": { 2377 "properties": { 2378 "authSchemes": [ 2379 { 2380 "name": "sigv4", 2381 "signingName": "s3", 2382 "signingRegion": "us-east-1", 2383 "disableDoubleEncoding": true 2384 } 2385 ] 2386 }, 2387 "url": "https://s3.amazonaws.com/bucket-name" 2388 } 2389 }, 2390 "operationInputs": [ 2391 { 2392 "builtInParams": { 2393 "AWS::Region": "us-east-1", 2394 "AWS::S3::ForcePathStyle": true, 2395 "AWS::S3::UseGlobalEndpoint": true 2396 }, 2397 "operationName": "GetObject", 2398 "operationParams": { 2399 "Bucket": "bucket-name", 2400 "Key": "key" 2401 } 2402 } 2403 ], 2404 "params": { 2405 "Region": "us-east-1", 2406 "Bucket": "bucket-name", 2407 "UseGlobalEndpoint": true, 2408 "ForcePathStyle": true, 2409 "UseFIPS": false, 2410 "UseDualStack": false, 2411 "Accelerate": false 2412 } 2413 }, 2414 { 2415 "documentation": "ForcePathStyle, UseGlobalEndpoint us-west-2 region uses the regional endpoint", 2416 "expect": { 2417 "endpoint": { 2418 "properties": { 2419 "authSchemes": [ 2420 { 2421 "name": "sigv4", 2422 "signingName": "s3", 2423 "signingRegion": "us-west-2", 2424 "disableDoubleEncoding": true 2425 } 2426 ] 2427 }, 2428 "url": "https://s3.us-west-2.amazonaws.com/bucket-name" 2429 } 2430 }, 2431 "operationInputs": [ 2432 { 2433 "builtInParams": { 2434 "AWS::Region": "us-west-2", 2435 "AWS::S3::ForcePathStyle": true, 2436 "AWS::S3::UseGlobalEndpoint": true 2437 }, 2438 "operationName": "GetObject", 2439 "operationParams": { 2440 "Bucket": "bucket-name", 2441 "Key": "key" 2442 } 2443 } 2444 ], 2445 "params": { 2446 "Region": "us-west-2", 2447 "Bucket": "bucket-name", 2448 "UseGlobalEndpoint": true, 2449 "ForcePathStyle": true, 2450 "UseFIPS": false, 2451 "UseDualStack": false, 2452 "Accelerate": false 2453 } 2454 }, 2455 { 2456 "documentation": "ForcePathStyle, UseGlobalEndpoint us-east-1 region, dualstack uses the regional dualstack endpoint", 2457 "expect": { 2458 "endpoint": { 2459 "properties": { 2460 "authSchemes": [ 2461 { 2462 "name": "sigv4", 2463 "signingName": "s3", 2464 "signingRegion": "us-east-1", 2465 "disableDoubleEncoding": true 2466 } 2467 ] 2468 }, 2469 "url": "https://s3.dualstack.us-east-1.amazonaws.com/bucket-name" 2470 } 2471 }, 2472 "operationInputs": [ 2473 { 2474 "builtInParams": { 2475 "AWS::Region": "us-east-1", 2476 "AWS::UseDualStack": true, 2477 "AWS::S3::ForcePathStyle": true, 2478 "AWS::S3::UseGlobalEndpoint": true 2479 }, 2480 "operationName": "GetObject", 2481 "operationParams": { 2482 "Bucket": "bucket-name", 2483 "Key": "key" 2484 } 2485 } 2486 ], 2487 "params": { 2488 "Region": "us-east-1", 2489 "Bucket": "bucket-name", 2490 "UseGlobalEndpoint": true, 2491 "ForcePathStyle": true, 2492 "UseFIPS": false, 2493 "UseDualStack": true, 2494 "Accelerate": false 2495 } 2496 }, 2497 { 2498 "documentation": "ForcePathStyle, UseGlobalEndpoint us-east-1 region custom endpoint uses the custom endpoint", 2499 "expect": { 2500 "endpoint": { 2501 "properties": { 2502 "authSchemes": [ 2503 { 2504 "name": "sigv4", 2505 "signingName": "s3", 2506 "signingRegion": "us-east-1", 2507 "disableDoubleEncoding": true 2508 } 2509 ] 2510 }, 2511 "url": "https://example.com/bucket-name" 2512 } 2513 }, 2514 "operationInputs": [ 2515 { 2516 "builtInParams": { 2517 "AWS::Region": "us-east-1", 2518 "SDK::Endpoint": "https://example.com", 2519 "AWS::S3::ForcePathStyle": true, 2520 "AWS::S3::UseGlobalEndpoint": true 2521 }, 2522 "operationName": "GetObject", 2523 "operationParams": { 2524 "Bucket": "bucket-name", 2525 "Key": "key" 2526 } 2527 } 2528 ], 2529 "params": { 2530 "Region": "us-east-1", 2531 "Bucket": "bucket-name", 2532 "Endpoint": "https://example.com", 2533 "UseGlobalEndpoint": true, 2534 "ForcePathStyle": true, 2535 "UseFIPS": false, 2536 "UseDualStack": false, 2537 "Accelerate": false 2538 } 2539 }, 2540 { 2541 "documentation": "ARN with aws-global region and UseArnRegion uses the regional endpoint", 2542 "expect": { 2543 "endpoint": { 2544 "properties": { 2545 "authSchemes": [ 2546 { 2547 "name": "sigv4", 2548 "signingName": "s3-outposts", 2549 "signingRegion": "us-east-1", 2550 "disableDoubleEncoding": true 2551 } 2552 ] 2553 }, 2554 "url": "https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com" 2555 } 2556 }, 2557 "operationInputs": [ 2558 { 2559 "builtInParams": { 2560 "AWS::Region": "aws-global", 2561 "AWS::S3::UseArnRegion": true 2562 }, 2563 "operationName": "GetObject", 2564 "operationParams": { 2565 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports", 2566 "Key": "key" 2567 } 2568 } 2569 ], 2570 "params": { 2571 "Region": "aws-global", 2572 "UseArnRegion": true, 2573 "UseFIPS": false, 2574 "UseDualStack": false, 2575 "Accelerate": false, 2576 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports" 2577 } 2578 }, 2579 { 2580 "documentation": "cross partition MRAP ARN is an error", 2581 "expect": { 2582 "error": "Client was configured for partition `aws` but bucket referred to partition `aws-cn`" 2583 }, 2584 "operationInputs": [ 2585 { 2586 "builtInParams": { 2587 "AWS::Region": "us-west-1" 2588 }, 2589 "operationName": "GetObject", 2590 "operationParams": { 2591 "Bucket": "arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 2592 "Key": "key" 2593 } 2594 } 2595 ], 2596 "params": { 2597 "Bucket": "arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap", 2598 "Region": "us-west-1" 2599 } 2600 }, 2601 { 2602 "documentation": "Endpoint override, accesspoint with HTTP, port", 2603 "expect": { 2604 "endpoint": { 2605 "properties": { 2606 "authSchemes": [ 2607 { 2608 "name": "sigv4", 2609 "signingName": "s3", 2610 "signingRegion": "us-west-2", 2611 "disableDoubleEncoding": true 2612 } 2613 ] 2614 }, 2615 "url": "http://myendpoint-123456789012.beta.example.com:1234" 2616 } 2617 }, 2618 "operationInputs": [ 2619 { 2620 "builtInParams": { 2621 "AWS::Region": "us-west-2", 2622 "SDK::Endpoint": "http://beta.example.com:1234" 2623 }, 2624 "operationName": "GetObject", 2625 "operationParams": { 2626 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 2627 "Key": "key" 2628 } 2629 } 2630 ], 2631 "params": { 2632 "Endpoint": "http://beta.example.com:1234", 2633 "Region": "us-west-2", 2634 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint" 2635 } 2636 }, 2637 { 2638 "documentation": "Endpoint override, accesspoint with http, path, query, and port", 2639 "expect": { 2640 "endpoint": { 2641 "properties": { 2642 "authSchemes": [ 2643 { 2644 "name": "sigv4", 2645 "signingName": "s3", 2646 "signingRegion": "us-west-2", 2647 "disableDoubleEncoding": true 2648 } 2649 ] 2650 }, 2651 "url": "http://myendpoint-123456789012.beta.example.com:1234/path" 2652 } 2653 }, 2654 "params": { 2655 "Region": "us-west-2", 2656 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 2657 "Endpoint": "http://beta.example.com:1234/path", 2658 "UseFIPS": false, 2659 "UseDualStack": false, 2660 "Accelerate": false 2661 } 2662 }, 2663 { 2664 "documentation": "non-bucket endpoint override with FIPS = error", 2665 "expect": { 2666 "error": "A custom endpoint cannot be combined with FIPS" 2667 }, 2668 "params": { 2669 "Region": "us-west-2", 2670 "Endpoint": "http://beta.example.com:1234/path", 2671 "UseFIPS": true, 2672 "UseDualStack": false 2673 } 2674 }, 2675 { 2676 "documentation": "FIPS + dualstack + custom endpoint", 2677 "expect": { 2678 "error": "Cannot set dual-stack in combination with a custom endpoint." 2679 }, 2680 "params": { 2681 "Region": "us-west-2", 2682 "Endpoint": "http://beta.example.com:1234/path", 2683 "UseFIPS": true, 2684 "UseDualStack": true 2685 } 2686 }, 2687 { 2688 "documentation": "dualstack + custom endpoint", 2689 "expect": { 2690 "error": "Cannot set dual-stack in combination with a custom endpoint." 2691 }, 2692 "params": { 2693 "Region": "us-west-2", 2694 "Endpoint": "http://beta.example.com:1234/path", 2695 "UseFIPS": false, 2696 "UseDualStack": true 2697 } 2698 }, 2699 { 2700 "documentation": "custom endpoint without FIPS/dualstack", 2701 "expect": { 2702 "endpoint": { 2703 "properties": { 2704 "authSchemes": [ 2705 { 2706 "name": "sigv4", 2707 "signingName": "s3", 2708 "signingRegion": "us-west-2", 2709 "disableDoubleEncoding": true 2710 } 2711 ] 2712 }, 2713 "url": "http://beta.example.com:1234/path" 2714 } 2715 }, 2716 "params": { 2717 "Region": "us-west-2", 2718 "Endpoint": "http://beta.example.com:1234/path", 2719 "UseFIPS": false, 2720 "UseDualStack": false 2721 } 2722 }, 2723 { 2724 "documentation": "s3 object lambda with access points disabled", 2725 "expect": { 2726 "error": "Access points are not supported for this operation" 2727 }, 2728 "params": { 2729 "Region": "us-west-2", 2730 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint", 2731 "DisableAccessPoints": true 2732 } 2733 }, 2734 { 2735 "documentation": "non bucket + FIPS", 2736 "expect": { 2737 "endpoint": { 2738 "properties": { 2739 "authSchemes": [ 2740 { 2741 "name": "sigv4", 2742 "signingName": "s3", 2743 "signingRegion": "us-west-2", 2744 "disableDoubleEncoding": true 2745 } 2746 ] 2747 }, 2748 "url": "https://s3-fips.us-west-2.amazonaws.com" 2749 } 2750 }, 2751 "params": { 2752 "Region": "us-west-2", 2753 "UseFIPS": true, 2754 "UseDualStack": false 2755 } 2756 }, 2757 { 2758 "documentation": "standard non bucket endpoint", 2759 "expect": { 2760 "endpoint": { 2761 "properties": { 2762 "authSchemes": [ 2763 { 2764 "name": "sigv4", 2765 "signingName": "s3", 2766 "signingRegion": "us-west-2", 2767 "disableDoubleEncoding": true 2768 } 2769 ] 2770 }, 2771 "url": "https://s3.us-west-2.amazonaws.com" 2772 } 2773 }, 2774 "params": { 2775 "Region": "us-west-2", 2776 "UseFIPS": false, 2777 "UseDualStack": false 2778 } 2779 }, 2780 { 2781 "documentation": "non bucket endpoint with FIPS + Dualstack", 2782 "expect": { 2783 "endpoint": { 2784 "properties": { 2785 "authSchemes": [ 2786 { 2787 "name": "sigv4", 2788 "signingName": "s3", 2789 "signingRegion": "us-west-2", 2790 "disableDoubleEncoding": true 2791 } 2792 ] 2793 }, 2794 "url": "https://s3-fips.dualstack.us-west-2.amazonaws.com" 2795 } 2796 }, 2797 "params": { 2798 "Region": "us-west-2", 2799 "UseFIPS": true, 2800 "UseDualStack": true 2801 } 2802 }, 2803 { 2804 "documentation": "non bucket endpoint with dualstack", 2805 "expect": { 2806 "endpoint": { 2807 "properties": { 2808 "authSchemes": [ 2809 { 2810 "name": "sigv4", 2811 "signingName": "s3", 2812 "signingRegion": "us-west-2", 2813 "disableDoubleEncoding": true 2814 } 2815 ] 2816 }, 2817 "url": "https://s3.dualstack.us-west-2.amazonaws.com" 2818 } 2819 }, 2820 "params": { 2821 "Region": "us-west-2", 2822 "UseFIPS": false, 2823 "UseDualStack": true 2824 } 2825 }, 2826 { 2827 "documentation": "use global endpoint + IP address endpoint override", 2828 "expect": { 2829 "endpoint": { 2830 "properties": { 2831 "authSchemes": [ 2832 { 2833 "name": "sigv4", 2834 "signingName": "s3", 2835 "disableDoubleEncoding": true, 2836 "signingRegion": "us-east-1" 2837 } 2838 ] 2839 }, 2840 "url": "http://127.0.0.1/bucket" 2841 } 2842 }, 2843 "params": { 2844 "Region": "us-east-1", 2845 "Bucket": "bucket", 2846 "UseFIPS": false, 2847 "UseDualStack": false, 2848 "Endpoint": "http://127.0.0.1", 2849 "UseGlobalEndpoint": true 2850 } 2851 }, 2852 { 2853 "documentation": "non-dns endpoint + global endpoint", 2854 "expect": { 2855 "endpoint": { 2856 "properties": { 2857 "authSchemes": [ 2858 { 2859 "name": "sigv4", 2860 "signingName": "s3", 2861 "disableDoubleEncoding": true, 2862 "signingRegion": "us-east-1" 2863 } 2864 ] 2865 }, 2866 "url": "https://s3.amazonaws.com/bucket%21" 2867 } 2868 }, 2869 "params": { 2870 "Region": "us-east-1", 2871 "Bucket": "bucket!", 2872 "UseFIPS": false, 2873 "UseDualStack": false, 2874 "UseGlobalEndpoint": true 2875 } 2876 }, 2877 { 2878 "documentation": "endpoint override + use global endpoint", 2879 "expect": { 2880 "endpoint": { 2881 "properties": { 2882 "authSchemes": [ 2883 { 2884 "name": "sigv4", 2885 "signingName": "s3", 2886 "disableDoubleEncoding": true, 2887 "signingRegion": "us-east-1" 2888 } 2889 ] 2890 }, 2891 "url": "http://foo.com/bucket%21" 2892 } 2893 }, 2894 "params": { 2895 "Region": "us-east-1", 2896 "Bucket": "bucket!", 2897 "UseFIPS": false, 2898 "UseDualStack": false, 2899 "UseGlobalEndpoint": true, 2900 "Endpoint": "http://foo.com" 2901 } 2902 }, 2903 { 2904 "documentation": "FIPS + dualstack + non-bucket endpoint", 2905 "expect": { 2906 "endpoint": { 2907 "properties": { 2908 "authSchemes": [ 2909 { 2910 "name": "sigv4", 2911 "signingName": "s3", 2912 "disableDoubleEncoding": true, 2913 "signingRegion": "us-east-1" 2914 } 2915 ] 2916 }, 2917 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21" 2918 } 2919 }, 2920 "params": { 2921 "Region": "us-east-1", 2922 "Bucket": "bucket!", 2923 "UseFIPS": true, 2924 "UseDualStack": true 2925 } 2926 }, 2927 { 2928 "documentation": "FIPS + dualstack + non-DNS endpoint", 2929 "expect": { 2930 "endpoint": { 2931 "properties": { 2932 "authSchemes": [ 2933 { 2934 "name": "sigv4", 2935 "signingName": "s3", 2936 "disableDoubleEncoding": true, 2937 "signingRegion": "us-east-1" 2938 } 2939 ] 2940 }, 2941 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21" 2942 } 2943 }, 2944 "params": { 2945 "Region": "us-east-1", 2946 "Bucket": "bucket!", 2947 "ForcePathStyle": true, 2948 "UseFIPS": true, 2949 "UseDualStack": true 2950 } 2951 }, 2952 { 2953 "documentation": "endpoint override + FIPS + dualstack (BUG)", 2954 "expect": { 2955 "error": "A custom endpoint cannot be combined with FIPS" 2956 }, 2957 "params": { 2958 "Region": "us-east-1", 2959 "Bucket": "bucket!", 2960 "ForcePathStyle": true, 2961 "UseFIPS": true, 2962 "UseDualStack": false, 2963 "Endpoint": "http://foo.com" 2964 } 2965 }, 2966 { 2967 "documentation": "endpoint override + non-dns bucket + FIPS (BUG)", 2968 "expect": { 2969 "error": "A custom endpoint cannot be combined with FIPS" 2970 }, 2971 "params": { 2972 "Region": "us-east-1", 2973 "Bucket": "bucket!", 2974 "UseFIPS": true, 2975 "UseDualStack": false, 2976 "Endpoint": "http://foo.com" 2977 } 2978 }, 2979 { 2980 "documentation": "FIPS + bucket endpoint + force path style", 2981 "expect": { 2982 "endpoint": { 2983 "properties": { 2984 "authSchemes": [ 2985 { 2986 "name": "sigv4", 2987 "signingName": "s3", 2988 "disableDoubleEncoding": true, 2989 "signingRegion": "us-east-1" 2990 } 2991 ] 2992 }, 2993 "url": "https://s3-fips.us-east-1.amazonaws.com/bucket%21" 2994 } 2995 }, 2996 "params": { 2997 "Region": "us-east-1", 2998 "Bucket": "bucket!", 2999 "ForcePathStyle": true, 3000 "UseFIPS": true, 3001 "UseDualStack": false, 3002 "UseGlobalEndpoint": true 3003 } 3004 }, 3005 { 3006 "documentation": "bucket + FIPS + force path style", 3007 "expect": { 3008 "endpoint": { 3009 "properties": { 3010 "authSchemes": [ 3011 { 3012 "name": "sigv4", 3013 "signingName": "s3", 3014 "disableDoubleEncoding": true, 3015 "signingRegion": "us-east-1" 3016 } 3017 ] 3018 }, 3019 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket" 3020 } 3021 }, 3022 "params": { 3023 "Region": "us-east-1", 3024 "Bucket": "bucket", 3025 "ForcePathStyle": true, 3026 "UseFIPS": true, 3027 "UseDualStack": true, 3028 "UseGlobalEndpoint": true 3029 } 3030 }, 3031 { 3032 "documentation": "FIPS + dualstack + use global endpoint", 3033 "expect": { 3034 "endpoint": { 3035 "properties": { 3036 "authSchemes": [ 3037 { 3038 "name": "sigv4", 3039 "signingName": "s3", 3040 "disableDoubleEncoding": true, 3041 "signingRegion": "us-east-1" 3042 } 3043 ] 3044 }, 3045 "url": "https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com" 3046 } 3047 }, 3048 "params": { 3049 "Region": "us-east-1", 3050 "Bucket": "bucket", 3051 "UseFIPS": true, 3052 "UseDualStack": true, 3053 "UseGlobalEndpoint": true 3054 } 3055 }, 3056 { 3057 "documentation": "URI encoded bucket + use global endpoint", 3058 "expect": { 3059 "error": "A custom endpoint cannot be combined with FIPS" 3060 }, 3061 "params": { 3062 "Region": "us-east-1", 3063 "Bucket": "bucket!", 3064 "UseFIPS": true, 3065 "UseDualStack": false, 3066 "UseGlobalEndpoint": true, 3067 "Endpoint": "https://foo.com" 3068 } 3069 }, 3070 { 3071 "documentation": "FIPS + path based endpoint", 3072 "expect": { 3073 "endpoint": { 3074 "properties": { 3075 "authSchemes": [ 3076 { 3077 "name": "sigv4", 3078 "signingName": "s3", 3079 "disableDoubleEncoding": true, 3080 "signingRegion": "us-east-1" 3081 } 3082 ] 3083 }, 3084 "url": "https://s3-fips.us-east-1.amazonaws.com/bucket%21" 3085 } 3086 }, 3087 "params": { 3088 "Region": "us-east-1", 3089 "Bucket": "bucket!", 3090 "UseFIPS": true, 3091 "UseDualStack": false, 3092 "Accelerate": false, 3093 "UseGlobalEndpoint": true 3094 } 3095 }, 3096 { 3097 "documentation": "accelerate + dualstack + global endpoint", 3098 "expect": { 3099 "endpoint": { 3100 "properties": { 3101 "authSchemes": [ 3102 { 3103 "name": "sigv4", 3104 "signingName": "s3", 3105 "disableDoubleEncoding": true, 3106 "signingRegion": "us-east-1" 3107 } 3108 ] 3109 }, 3110 "url": "https://bucket.s3-accelerate.dualstack.amazonaws.com" 3111 } 3112 }, 3113 "params": { 3114 "Region": "us-east-1", 3115 "Bucket": "bucket", 3116 "UseFIPS": false, 3117 "UseDualStack": true, 3118 "Accelerate": true, 3119 "UseGlobalEndpoint": true 3120 } 3121 }, 3122 { 3123 "documentation": "dualstack + global endpoint + non URI safe bucket", 3124 "expect": { 3125 "endpoint": { 3126 "properties": { 3127 "authSchemes": [ 3128 { 3129 "name": "sigv4", 3130 "signingName": "s3", 3131 "disableDoubleEncoding": true, 3132 "signingRegion": "us-east-1" 3133 } 3134 ] 3135 }, 3136 "url": "https://s3.dualstack.us-east-1.amazonaws.com/bucket%21" 3137 } 3138 }, 3139 "params": { 3140 "Region": "us-east-1", 3141 "Bucket": "bucket!", 3142 "Accelerate": false, 3143 "UseDualStack": true, 3144 "UseFIPS": false, 3145 "UseGlobalEndpoint": true 3146 } 3147 }, 3148 { 3149 "documentation": "FIPS + uri encoded bucket", 3150 "expect": { 3151 "endpoint": { 3152 "properties": { 3153 "authSchemes": [ 3154 { 3155 "name": "sigv4", 3156 "signingName": "s3", 3157 "disableDoubleEncoding": true, 3158 "signingRegion": "us-east-1" 3159 } 3160 ] 3161 }, 3162 "url": "https://s3-fips.us-east-1.amazonaws.com/bucket%21" 3163 } 3164 }, 3165 "params": { 3166 "Region": "us-east-1", 3167 "Bucket": "bucket!", 3168 "ForcePathStyle": true, 3169 "Accelerate": false, 3170 "UseDualStack": false, 3171 "UseFIPS": true, 3172 "UseGlobalEndpoint": true 3173 } 3174 }, 3175 { 3176 "documentation": "endpoint override + non-uri safe endpoint + force path style", 3177 "expect": { 3178 "error": "A custom endpoint cannot be combined with FIPS" 3179 }, 3180 "params": { 3181 "Region": "us-east-1", 3182 "Bucket": "bucket!", 3183 "ForcePathStyle": true, 3184 "Accelerate": false, 3185 "UseDualStack": false, 3186 "UseFIPS": true, 3187 "Endpoint": "http://foo.com", 3188 "UseGlobalEndpoint": true 3189 } 3190 }, 3191 { 3192 "documentation": "FIPS + Dualstack + global endpoint + non-dns bucket", 3193 "expect": { 3194 "endpoint": { 3195 "properties": { 3196 "authSchemes": [ 3197 { 3198 "name": "sigv4", 3199 "signingName": "s3", 3200 "disableDoubleEncoding": true, 3201 "signingRegion": "us-east-1" 3202 } 3203 ] 3204 }, 3205 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21" 3206 } 3207 }, 3208 "params": { 3209 "Region": "us-east-1", 3210 "Bucket": "bucket!", 3211 "Accelerate": false, 3212 "UseDualStack": true, 3213 "UseFIPS": true, 3214 "UseGlobalEndpoint": true 3215 } 3216 }, 3217 { 3218 "documentation": "endpoint override + FIPS + dualstack", 3219 "expect": { 3220 "error": "Cannot set dual-stack in combination with a custom endpoint." 3221 }, 3222 "params": { 3223 "Region": "us-east-1", 3224 "UseDualStack": true, 3225 "UseFIPS": true, 3226 "UseGlobalEndpoint": true, 3227 "Endpoint": "http://foo.com" 3228 } 3229 }, 3230 { 3231 "documentation": "non-bucket endpoint override + dualstack + global endpoint", 3232 "expect": { 3233 "error": "Cannot set dual-stack in combination with a custom endpoint." 3234 }, 3235 "params": { 3236 "Region": "us-east-1", 3237 "UseFIPS": false, 3238 "UseDualStack": true, 3239 "UseGlobalEndpoint": true, 3240 "Endpoint": "http://foo.com" 3241 } 3242 }, 3243 { 3244 "documentation": "Endpoint override + UseGlobalEndpoint + us-east-1", 3245 "expect": { 3246 "error": "A custom endpoint cannot be combined with FIPS" 3247 }, 3248 "params": { 3249 "Region": "us-east-1", 3250 "UseFIPS": true, 3251 "UseDualStack": false, 3252 "UseGlobalEndpoint": true, 3253 "Endpoint": "http://foo.com" 3254 } 3255 }, 3256 { 3257 "documentation": "non-FIPS partition with FIPS set + custom endpoint", 3258 "expect": { 3259 "error": "Partition does not support FIPS" 3260 }, 3261 "params": { 3262 "Region": "cn-north-1", 3263 "UseFIPS": true, 3264 "UseDualStack": false, 3265 "UseGlobalEndpoint": true 3266 } 3267 }, 3268 { 3269 "documentation": "aws-global signs as us-east-1", 3270 "expect": { 3271 "endpoint": { 3272 "properties": { 3273 "authSchemes": [ 3274 { 3275 "signingRegion": "us-east-1", 3276 "name": "sigv4", 3277 "signingName": "s3", 3278 "disableDoubleEncoding": true 3279 } 3280 ] 3281 }, 3282 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21" 3283 } 3284 }, 3285 "params": { 3286 "Region": "aws-global", 3287 "Bucket": "bucket!", 3288 "UseFIPS": true, 3289 "Accelerate": false, 3290 "UseDualStack": true 3291 } 3292 }, 3293 { 3294 "documentation": "aws-global signs as us-east-1", 3295 "expect": { 3296 "endpoint": { 3297 "properties": { 3298 "authSchemes": [ 3299 { 3300 "signingRegion": "us-east-1", 3301 "name": "sigv4", 3302 "signingName": "s3", 3303 "disableDoubleEncoding": true 3304 } 3305 ] 3306 }, 3307 "url": "https://bucket.foo.com" 3308 } 3309 }, 3310 "params": { 3311 "Region": "aws-global", 3312 "Bucket": "bucket", 3313 "UseDualStack": false, 3314 "UseFIPS": false, 3315 "Accelerate": false, 3316 "Endpoint": "https://foo.com" 3317 } 3318 }, 3319 { 3320 "documentation": "aws-global + dualstack + path-only bucket", 3321 "expect": { 3322 "endpoint": { 3323 "properties": { 3324 "authSchemes": [ 3325 { 3326 "signingRegion": "us-east-1", 3327 "name": "sigv4", 3328 "signingName": "s3", 3329 "disableDoubleEncoding": true 3330 } 3331 ] 3332 }, 3333 "url": "https://s3.dualstack.us-east-1.amazonaws.com/bucket%21" 3334 } 3335 }, 3336 "params": { 3337 "Region": "aws-global", 3338 "Bucket": "bucket!", 3339 "UseDualStack": true, 3340 "UseFIPS": false, 3341 "Accelerate": false 3342 } 3343 }, 3344 { 3345 "documentation": "aws-global + path-only bucket", 3346 "expect": { 3347 "endpoint": { 3348 "properties": { 3349 "authSchemes": [ 3350 { 3351 "signingRegion": "us-east-1", 3352 "name": "sigv4", 3353 "signingName": "s3", 3354 "disableDoubleEncoding": true 3355 } 3356 ] 3357 }, 3358 "url": "https://s3.amazonaws.com/bucket%21" 3359 } 3360 }, 3361 "params": { 3362 "Region": "aws-global", 3363 "Bucket": "bucket!" 3364 } 3365 }, 3366 { 3367 "documentation": "aws-global + fips + custom endpoint", 3368 "expect": { 3369 "error": "A custom endpoint cannot be combined with FIPS" 3370 }, 3371 "params": { 3372 "Region": "aws-global", 3373 "Bucket": "bucket!", 3374 "UseDualStack": false, 3375 "UseFIPS": true, 3376 "Accelerate": false, 3377 "Endpoint": "http://foo.com" 3378 } 3379 }, 3380 { 3381 "documentation": "aws-global, endpoint override & path only-bucket", 3382 "expect": { 3383 "endpoint": { 3384 "properties": { 3385 "authSchemes": [ 3386 { 3387 "signingRegion": "us-east-1", 3388 "name": "sigv4", 3389 "signingName": "s3", 3390 "disableDoubleEncoding": true 3391 } 3392 ] 3393 }, 3394 "url": "http://foo.com/bucket%21" 3395 } 3396 }, 3397 "params": { 3398 "Region": "aws-global", 3399 "Bucket": "bucket!", 3400 "UseDualStack": false, 3401 "UseFIPS": false, 3402 "Accelerate": false, 3403 "Endpoint": "http://foo.com" 3404 } 3405 }, 3406 { 3407 "documentation": "aws-global + dualstack + custom endpoint", 3408 "expect": { 3409 "error": "Cannot set dual-stack in combination with a custom endpoint." 3410 }, 3411 "params": { 3412 "Region": "aws-global", 3413 "UseDualStack": true, 3414 "UseFIPS": false, 3415 "Accelerate": false, 3416 "Endpoint": "http://foo.com" 3417 } 3418 }, 3419 { 3420 "documentation": "accelerate, dualstack + aws-global", 3421 "expect": { 3422 "endpoint": { 3423 "properties": { 3424 "authSchemes": [ 3425 { 3426 "signingRegion": "us-east-1", 3427 "name": "sigv4", 3428 "signingName": "s3", 3429 "disableDoubleEncoding": true 3430 } 3431 ] 3432 }, 3433 "url": "https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com" 3434 } 3435 }, 3436 "params": { 3437 "Region": "aws-global", 3438 "Bucket": "bucket", 3439 "UseDualStack": true, 3440 "UseFIPS": false, 3441 "Accelerate": true 3442 } 3443 }, 3444 { 3445 "documentation": "FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out", 3446 "expect": { 3447 "endpoint": { 3448 "properties": { 3449 "authSchemes": [ 3450 { 3451 "signingRegion": "us-east-1", 3452 "name": "sigv4", 3453 "signingName": "s3", 3454 "disableDoubleEncoding": true 3455 } 3456 ] 3457 }, 3458 "url": "https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21" 3459 } 3460 }, 3461 "params": { 3462 "Region": "aws-global", 3463 "Bucket": "bucket!", 3464 "ForcePathStyle": true, 3465 "UseDualStack": true, 3466 "UseFIPS": true, 3467 "Accelerate": false 3468 } 3469 }, 3470 { 3471 "documentation": "aws-global + FIPS + endpoint override.", 3472 "expect": { 3473 "error": "A custom endpoint cannot be combined with FIPS" 3474 }, 3475 "params": { 3476 "Region": "aws-global", 3477 "UseFIPS": true, 3478 "Endpoint": "http://foo.com" 3479 } 3480 }, 3481 { 3482 "documentation": "force path style, FIPS, aws-global & endpoint override", 3483 "expect": { 3484 "error": "A custom endpoint cannot be combined with FIPS" 3485 }, 3486 "params": { 3487 "Region": "aws-global", 3488 "Bucket": "bucket!", 3489 "ForcePathStyle": true, 3490 "UseFIPS": true, 3491 "Endpoint": "http://foo.com" 3492 } 3493 }, 3494 { 3495 "documentation": "ip address causes path style to be forced", 3496 "expect": { 3497 "endpoint": { 3498 "properties": { 3499 "authSchemes": [ 3500 { 3501 "signingRegion": "us-east-1", 3502 "name": "sigv4", 3503 "signingName": "s3", 3504 "disableDoubleEncoding": true 3505 } 3506 ] 3507 }, 3508 "url": "http://192.168.1.1/bucket" 3509 } 3510 }, 3511 "params": { 3512 "Region": "aws-global", 3513 "Bucket": "bucket", 3514 "Endpoint": "http://192.168.1.1" 3515 } 3516 }, 3517 { 3518 "documentation": "endpoint override with aws-global region", 3519 "expect": { 3520 "error": "Cannot set dual-stack in combination with a custom endpoint." 3521 }, 3522 "params": { 3523 "Region": "aws-global", 3524 "UseFIPS": true, 3525 "UseDualStack": true, 3526 "Endpoint": "http://foo.com" 3527 } 3528 }, 3529 { 3530 "documentation": "FIPS + path-only (TODO: consider making this an error)", 3531 "expect": { 3532 "endpoint": { 3533 "properties": { 3534 "authSchemes": [ 3535 { 3536 "signingRegion": "us-east-1", 3537 "name": "sigv4", 3538 "signingName": "s3", 3539 "disableDoubleEncoding": true 3540 } 3541 ] 3542 }, 3543 "url": "https://s3-fips.us-east-1.amazonaws.com/bucket%21" 3544 } 3545 }, 3546 "params": { 3547 "Region": "aws-global", 3548 "Bucket": "bucket!", 3549 "UseFIPS": true 3550 } 3551 }, 3552 { 3553 "documentation": "empty arn type", 3554 "expect": { 3555 "error": "Invalid ARN: No ARN type specified" 3556 }, 3557 "params": { 3558 "Region": "us-east-2", 3559 "Bucket": "arn:aws:not-s3:us-west-2:123456789012::myendpoint" 3560 } 3561 }, 3562 { 3563 "documentation": "path style can't be used with accelerate", 3564 "expect": { 3565 "error": "Path-style addressing cannot be used with S3 Accelerate" 3566 }, 3567 "params": { 3568 "Region": "us-east-2", 3569 "Bucket": "bucket!", 3570 "Accelerate": true 3571 } 3572 }, 3573 { 3574 "documentation": "invalid region", 3575 "expect": { 3576 "error": "Invalid region: region was not a valid DNS name." 3577 }, 3578 "params": { 3579 "Region": "us-east-2!", 3580 "Bucket": "bucket.subdomain", 3581 "Endpoint": "http://foo.com" 3582 } 3583 }, 3584 { 3585 "documentation": "invalid region", 3586 "expect": { 3587 "error": "Invalid region: region was not a valid DNS name." 3588 }, 3589 "params": { 3590 "Region": "us-east-2!", 3591 "Bucket": "bucket", 3592 "Endpoint": "http://foo.com" 3593 } 3594 }, 3595 { 3596 "documentation": "empty arn type", 3597 "expect": { 3598 "error": "Invalid Access Point Name" 3599 }, 3600 "params": { 3601 "Region": "us-east-2", 3602 "Bucket": "arn:aws:s3::123456789012:accesspoint:my_endpoint" 3603 } 3604 }, 3605 { 3606 "documentation": "empty arn type", 3607 "expect": { 3608 "error": "Client was configured for partition `aws` but ARN (`arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint`) has `aws-cn`" 3609 }, 3610 "params": { 3611 "Region": "us-east-2", 3612 "Bucket": "arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint", 3613 "UseArnRegion": true 3614 } 3615 }, 3616 { 3617 "documentation": "invalid arn region", 3618 "expect": { 3619 "error": "Invalid region in ARN: `us-east_2` (invalid DNS name)" 3620 }, 3621 "params": { 3622 "Region": "us-east-2", 3623 "Bucket": "arn:aws:s3-object-lambda:us-east_2:123456789012:accesspoint:my-endpoint", 3624 "UseArnRegion": true 3625 } 3626 }, 3627 { 3628 "documentation": "invalid ARN outpost", 3629 "expect": { 3630 "error": "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456`" 3631 }, 3632 "params": { 3633 "Region": "us-east-2", 3634 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op_01234567890123456/accesspoint/reports", 3635 "UseArnRegion": true 3636 } 3637 }, 3638 { 3639 "documentation": "invalid ARN", 3640 "expect": { 3641 "error": "Invalid ARN: expected an access point name" 3642 }, 3643 "params": { 3644 "Region": "us-east-2", 3645 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/reports" 3646 } 3647 }, 3648 { 3649 "documentation": "invalid ARN", 3650 "expect": { 3651 "error": "Invalid ARN: Expected a 4-component resource" 3652 }, 3653 "params": { 3654 "Region": "us-east-2", 3655 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456" 3656 } 3657 }, 3658 { 3659 "documentation": "invalid outpost type", 3660 "expect": { 3661 "error": "Expected an outpost type `accesspoint`, found not-accesspoint" 3662 }, 3663 "params": { 3664 "Region": "us-east-2", 3665 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports" 3666 } 3667 }, 3668 { 3669 "documentation": "invalid outpost type", 3670 "expect": { 3671 "error": "Invalid region in ARN: `us-east_1` (invalid DNS name)" 3672 }, 3673 "params": { 3674 "Region": "us-east-2", 3675 "Bucket": "arn:aws:s3-outposts:us-east_1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports" 3676 } 3677 }, 3678 { 3679 "documentation": "invalid outpost type", 3680 "expect": { 3681 "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012`" 3682 }, 3683 "params": { 3684 "Region": "us-east-2", 3685 "Bucket": "arn:aws:s3-outposts:us-east-1:12345_789012:outpost/op-01234567890123456/not-accesspoint/reports" 3686 } 3687 }, 3688 { 3689 "documentation": "invalid outpost type", 3690 "expect": { 3691 "error": "Invalid ARN: The Outpost Id was not set" 3692 }, 3693 "params": { 3694 "Region": "us-east-2", 3695 "Bucket": "arn:aws:s3-outposts:us-east-1:12345789012:outpost" 3696 } 3697 }, 3698 { 3699 "documentation": "use global endpoint virtual addressing", 3700 "expect": { 3701 "endpoint": { 3702 "properties": { 3703 "authSchemes": [ 3704 { 3705 "signingRegion": "us-east-2", 3706 "name": "sigv4", 3707 "signingName": "s3", 3708 "disableDoubleEncoding": true 3709 } 3710 ] 3711 }, 3712 "url": "http://bucket.example.com" 3713 } 3714 }, 3715 "params": { 3716 "Region": "us-east-2", 3717 "Bucket": "bucket", 3718 "Endpoint": "http://example.com", 3719 "UseGlobalEndpoint": true 3720 } 3721 }, 3722 { 3723 "documentation": "global endpoint + ip address", 3724 "expect": { 3725 "endpoint": { 3726 "properties": { 3727 "authSchemes": [ 3728 { 3729 "signingRegion": "us-east-2", 3730 "name": "sigv4", 3731 "signingName": "s3", 3732 "disableDoubleEncoding": true 3733 } 3734 ] 3735 }, 3736 "url": "http://192.168.0.1/bucket" 3737 } 3738 }, 3739 "params": { 3740 "Region": "us-east-2", 3741 "Bucket": "bucket", 3742 "Endpoint": "http://192.168.0.1", 3743 "UseGlobalEndpoint": true 3744 } 3745 }, 3746 { 3747 "documentation": "invalid outpost type", 3748 "expect": { 3749 "endpoint": { 3750 "properties": { 3751 "authSchemes": [ 3752 { 3753 "signingRegion": "us-east-2", 3754 "name": "sigv4", 3755 "signingName": "s3", 3756 "disableDoubleEncoding": true 3757 } 3758 ] 3759 }, 3760 "url": "https://s3.us-east-2.amazonaws.com/bucket%21" 3761 } 3762 }, 3763 "params": { 3764 "Region": "us-east-2", 3765 "Bucket": "bucket!", 3766 "UseGlobalEndpoint": true 3767 } 3768 }, 3769 { 3770 "documentation": "invalid outpost type", 3771 "expect": { 3772 "endpoint": { 3773 "properties": { 3774 "authSchemes": [ 3775 { 3776 "signingRegion": "us-east-2", 3777 "name": "sigv4", 3778 "signingName": "s3", 3779 "disableDoubleEncoding": true 3780 } 3781 ] 3782 }, 3783 "url": "https://bucket.s3-accelerate.amazonaws.com" 3784 } 3785 }, 3786 "params": { 3787 "Region": "us-east-2", 3788 "Bucket": "bucket", 3789 "Accelerate": true, 3790 "UseGlobalEndpoint": true 3791 } 3792 }, 3793 { 3794 "documentation": "use global endpoint + custom endpoint", 3795 "expect": { 3796 "endpoint": { 3797 "properties": { 3798 "authSchemes": [ 3799 { 3800 "signingRegion": "us-east-2", 3801 "name": "sigv4", 3802 "signingName": "s3", 3803 "disableDoubleEncoding": true 3804 } 3805 ] 3806 }, 3807 "url": "http://foo.com/bucket%21" 3808 } 3809 }, 3810 "params": { 3811 "Region": "us-east-2", 3812 "Bucket": "bucket!", 3813 "UseGlobalEndpoint": true, 3814 "Endpoint": "http://foo.com" 3815 } 3816 }, 3817 { 3818 "documentation": "use global endpoint, not us-east-1, force path style", 3819 "expect": { 3820 "endpoint": { 3821 "properties": { 3822 "authSchemes": [ 3823 { 3824 "signingRegion": "us-east-2", 3825 "name": "sigv4", 3826 "signingName": "s3", 3827 "disableDoubleEncoding": true 3828 } 3829 ] 3830 }, 3831 "url": "http://foo.com/bucket%21" 3832 } 3833 }, 3834 "params": { 3835 "Region": "us-east-2", 3836 "Bucket": "bucket!", 3837 "UseGlobalEndpoint": true, 3838 "ForcePathStyle": true, 3839 "Endpoint": "http://foo.com" 3840 } 3841 }, 3842 { 3843 "documentation": "vanilla virtual addressing@us-west-2", 3844 "expect": { 3845 "endpoint": { 3846 "properties": { 3847 "authSchemes": [ 3848 { 3849 "name": "sigv4", 3850 "signingName": "s3", 3851 "signingRegion": "us-west-2", 3852 "disableDoubleEncoding": true 3853 } 3854 ] 3855 }, 3856 "url": "https://bucket-name.s3.us-west-2.amazonaws.com" 3857 } 3858 }, 3859 "operationInputs": [ 3860 { 3861 "builtInParams": { 3862 "AWS::Region": "us-west-2" 3863 }, 3864 "operationName": "GetObject", 3865 "operationParams": { 3866 "Bucket": "bucket-name", 3867 "Key": "key" 3868 } 3869 } 3870 ], 3871 "params": { 3872 "Accelerate": false, 3873 "Bucket": "bucket-name", 3874 "ForcePathStyle": false, 3875 "Region": "us-west-2", 3876 "UseDualStack": false, 3877 "UseFIPS": false 3878 } 3879 }, 3880 { 3881 "documentation": "virtual addressing + dualstack@us-west-2", 3882 "expect": { 3883 "endpoint": { 3884 "properties": { 3885 "authSchemes": [ 3886 { 3887 "name": "sigv4", 3888 "signingName": "s3", 3889 "signingRegion": "us-west-2", 3890 "disableDoubleEncoding": true 3891 } 3892 ] 3893 }, 3894 "url": "https://bucket-name.s3.dualstack.us-west-2.amazonaws.com" 3895 } 3896 }, 3897 "operationInputs": [ 3898 { 3899 "builtInParams": { 3900 "AWS::Region": "us-west-2", 3901 "AWS::UseDualStack": true 3902 }, 3903 "operationName": "GetObject", 3904 "operationParams": { 3905 "Bucket": "bucket-name", 3906 "Key": "key" 3907 } 3908 } 3909 ], 3910 "params": { 3911 "Accelerate": false, 3912 "Bucket": "bucket-name", 3913 "ForcePathStyle": false, 3914 "Region": "us-west-2", 3915 "UseDualStack": true, 3916 "UseFIPS": false 3917 } 3918 }, 3919 { 3920 "documentation": "accelerate + dualstack@us-west-2", 3921 "expect": { 3922 "endpoint": { 3923 "properties": { 3924 "authSchemes": [ 3925 { 3926 "name": "sigv4", 3927 "signingName": "s3", 3928 "signingRegion": "us-west-2", 3929 "disableDoubleEncoding": true 3930 } 3931 ] 3932 }, 3933 "url": "https://bucket-name.s3-accelerate.dualstack.amazonaws.com" 3934 } 3935 }, 3936 "operationInputs": [ 3937 { 3938 "builtInParams": { 3939 "AWS::Region": "us-west-2", 3940 "AWS::UseDualStack": true, 3941 "AWS::S3::Accelerate": true 3942 }, 3943 "operationName": "GetObject", 3944 "operationParams": { 3945 "Bucket": "bucket-name", 3946 "Key": "key" 3947 } 3948 } 3949 ], 3950 "params": { 3951 "Accelerate": true, 3952 "Bucket": "bucket-name", 3953 "ForcePathStyle": false, 3954 "Region": "us-west-2", 3955 "UseDualStack": true, 3956 "UseFIPS": false 3957 } 3958 }, 3959 { 3960 "documentation": "accelerate (dualstack=false)@us-west-2", 3961 "expect": { 3962 "endpoint": { 3963 "properties": { 3964 "authSchemes": [ 3965 { 3966 "name": "sigv4", 3967 "signingName": "s3", 3968 "signingRegion": "us-west-2", 3969 "disableDoubleEncoding": true 3970 } 3971 ] 3972 }, 3973 "url": "https://bucket-name.s3-accelerate.amazonaws.com" 3974 } 3975 }, 3976 "operationInputs": [ 3977 { 3978 "builtInParams": { 3979 "AWS::Region": "us-west-2", 3980 "AWS::S3::Accelerate": true 3981 }, 3982 "operationName": "GetObject", 3983 "operationParams": { 3984 "Bucket": "bucket-name", 3985 "Key": "key" 3986 } 3987 } 3988 ], 3989 "params": { 3990 "Accelerate": true, 3991 "Bucket": "bucket-name", 3992 "ForcePathStyle": false, 3993 "Region": "us-west-2", 3994 "UseDualStack": false, 3995 "UseFIPS": false 3996 } 3997 }, 3998 { 3999 "documentation": "virtual addressing + fips@us-west-2", 4000 "expect": { 4001 "endpoint": { 4002 "properties": { 4003 "authSchemes": [ 4004 { 4005 "name": "sigv4", 4006 "signingName": "s3", 4007 "signingRegion": "us-west-2", 4008 "disableDoubleEncoding": true 4009 } 4010 ] 4011 }, 4012 "url": "https://bucket-name.s3-fips.us-west-2.amazonaws.com" 4013 } 4014 }, 4015 "operationInputs": [ 4016 { 4017 "builtInParams": { 4018 "AWS::Region": "us-west-2", 4019 "AWS::UseFIPS": true 4020 }, 4021 "operationName": "GetObject", 4022 "operationParams": { 4023 "Bucket": "bucket-name", 4024 "Key": "key" 4025 } 4026 } 4027 ], 4028 "params": { 4029 "Accelerate": false, 4030 "Bucket": "bucket-name", 4031 "ForcePathStyle": false, 4032 "Region": "us-west-2", 4033 "UseDualStack": false, 4034 "UseFIPS": true 4035 } 4036 }, 4037 { 4038 "documentation": "virtual addressing + dualstack + fips@us-west-2", 4039 "expect": { 4040 "endpoint": { 4041 "properties": { 4042 "authSchemes": [ 4043 { 4044 "name": "sigv4", 4045 "signingName": "s3", 4046 "signingRegion": "us-west-2", 4047 "disableDoubleEncoding": true 4048 } 4049 ] 4050 }, 4051 "url": "https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com" 4052 } 4053 }, 4054 "operationInputs": [ 4055 { 4056 "builtInParams": { 4057 "AWS::Region": "us-west-2", 4058 "AWS::UseFIPS": true, 4059 "AWS::UseDualStack": true 4060 }, 4061 "operationName": "GetObject", 4062 "operationParams": { 4063 "Bucket": "bucket-name", 4064 "Key": "key" 4065 } 4066 } 4067 ], 4068 "params": { 4069 "Accelerate": false, 4070 "Bucket": "bucket-name", 4071 "ForcePathStyle": false, 4072 "Region": "us-west-2", 4073 "UseDualStack": true, 4074 "UseFIPS": true 4075 } 4076 }, 4077 { 4078 "documentation": "accelerate + fips = error@us-west-2", 4079 "expect": { 4080 "error": "Accelerate cannot be used with FIPS" 4081 }, 4082 "operationInputs": [ 4083 { 4084 "builtInParams": { 4085 "AWS::Region": "us-west-2", 4086 "AWS::UseFIPS": true, 4087 "AWS::S3::Accelerate": true 4088 }, 4089 "operationName": "GetObject", 4090 "operationParams": { 4091 "Bucket": "bucket-name", 4092 "Key": "key" 4093 } 4094 } 4095 ], 4096 "params": { 4097 "Accelerate": true, 4098 "Bucket": "bucket-name", 4099 "ForcePathStyle": false, 4100 "Region": "us-west-2", 4101 "UseDualStack": false, 4102 "UseFIPS": true 4103 } 4104 }, 4105 { 4106 "documentation": "vanilla virtual addressing@cn-north-1", 4107 "expect": { 4108 "endpoint": { 4109 "properties": { 4110 "authSchemes": [ 4111 { 4112 "name": "sigv4", 4113 "signingName": "s3", 4114 "signingRegion": "cn-north-1", 4115 "disableDoubleEncoding": true 4116 } 4117 ] 4118 }, 4119 "url": "https://bucket-name.s3.cn-north-1.amazonaws.com.cn" 4120 } 4121 }, 4122 "operationInputs": [ 4123 { 4124 "builtInParams": { 4125 "AWS::Region": "cn-north-1" 4126 }, 4127 "operationName": "GetObject", 4128 "operationParams": { 4129 "Bucket": "bucket-name", 4130 "Key": "key" 4131 } 4132 } 4133 ], 4134 "params": { 4135 "Accelerate": false, 4136 "Bucket": "bucket-name", 4137 "ForcePathStyle": false, 4138 "Region": "cn-north-1", 4139 "UseDualStack": false, 4140 "UseFIPS": false 4141 } 4142 }, 4143 { 4144 "documentation": "virtual addressing + dualstack@cn-north-1", 4145 "expect": { 4146 "endpoint": { 4147 "properties": { 4148 "authSchemes": [ 4149 { 4150 "name": "sigv4", 4151 "signingName": "s3", 4152 "signingRegion": "cn-north-1", 4153 "disableDoubleEncoding": true 4154 } 4155 ] 4156 }, 4157 "url": "https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn" 4158 } 4159 }, 4160 "operationInputs": [ 4161 { 4162 "builtInParams": { 4163 "AWS::Region": "cn-north-1", 4164 "AWS::UseDualStack": true 4165 }, 4166 "operationName": "GetObject", 4167 "operationParams": { 4168 "Bucket": "bucket-name", 4169 "Key": "key" 4170 } 4171 } 4172 ], 4173 "params": { 4174 "Accelerate": false, 4175 "Bucket": "bucket-name", 4176 "ForcePathStyle": false, 4177 "Region": "cn-north-1", 4178 "UseDualStack": true, 4179 "UseFIPS": false 4180 } 4181 }, 4182 { 4183 "documentation": "accelerate (dualstack=false)@cn-north-1", 4184 "expect": { 4185 "error": "S3 Accelerate cannot be used in this region" 4186 }, 4187 "params": { 4188 "Accelerate": true, 4189 "Bucket": "bucket-name", 4190 "ForcePathStyle": false, 4191 "Region": "cn-north-1", 4192 "UseDualStack": false, 4193 "UseFIPS": false 4194 } 4195 }, 4196 { 4197 "documentation": "virtual addressing + fips@cn-north-1", 4198 "expect": { 4199 "error": "Partition does not support FIPS" 4200 }, 4201 "params": { 4202 "Accelerate": false, 4203 "Bucket": "bucket-name", 4204 "ForcePathStyle": false, 4205 "Region": "cn-north-1", 4206 "UseDualStack": false, 4207 "UseFIPS": true 4208 } 4209 }, 4210 { 4211 "documentation": "vanilla virtual addressing@af-south-1", 4212 "expect": { 4213 "endpoint": { 4214 "properties": { 4215 "authSchemes": [ 4216 { 4217 "name": "sigv4", 4218 "signingName": "s3", 4219 "signingRegion": "af-south-1", 4220 "disableDoubleEncoding": true 4221 } 4222 ] 4223 }, 4224 "url": "https://bucket-name.s3.af-south-1.amazonaws.com" 4225 } 4226 }, 4227 "operationInputs": [ 4228 { 4229 "builtInParams": { 4230 "AWS::Region": "af-south-1" 4231 }, 4232 "operationName": "GetObject", 4233 "operationParams": { 4234 "Bucket": "bucket-name", 4235 "Key": "key" 4236 } 4237 } 4238 ], 4239 "params": { 4240 "Accelerate": false, 4241 "Bucket": "bucket-name", 4242 "ForcePathStyle": false, 4243 "Region": "af-south-1", 4244 "UseDualStack": false, 4245 "UseFIPS": false 4246 } 4247 }, 4248 { 4249 "documentation": "virtual addressing + dualstack@af-south-1", 4250 "expect": { 4251 "endpoint": { 4252 "properties": { 4253 "authSchemes": [ 4254 { 4255 "name": "sigv4", 4256 "signingName": "s3", 4257 "signingRegion": "af-south-1", 4258 "disableDoubleEncoding": true 4259 } 4260 ] 4261 }, 4262 "url": "https://bucket-name.s3.dualstack.af-south-1.amazonaws.com" 4263 } 4264 }, 4265 "operationInputs": [ 4266 { 4267 "builtInParams": { 4268 "AWS::Region": "af-south-1", 4269 "AWS::UseDualStack": true 4270 }, 4271 "operationName": "GetObject", 4272 "operationParams": { 4273 "Bucket": "bucket-name", 4274 "Key": "key" 4275 } 4276 } 4277 ], 4278 "params": { 4279 "Accelerate": false, 4280 "Bucket": "bucket-name", 4281 "ForcePathStyle": false, 4282 "Region": "af-south-1", 4283 "UseDualStack": true, 4284 "UseFIPS": false 4285 } 4286 }, 4287 { 4288 "documentation": "accelerate + dualstack@af-south-1", 4289 "expect": { 4290 "endpoint": { 4291 "properties": { 4292 "authSchemes": [ 4293 { 4294 "name": "sigv4", 4295 "signingName": "s3", 4296 "signingRegion": "af-south-1", 4297 "disableDoubleEncoding": true 4298 } 4299 ] 4300 }, 4301 "url": "https://bucket-name.s3-accelerate.dualstack.amazonaws.com" 4302 } 4303 }, 4304 "operationInputs": [ 4305 { 4306 "builtInParams": { 4307 "AWS::Region": "af-south-1", 4308 "AWS::UseDualStack": true, 4309 "AWS::S3::Accelerate": true 4310 }, 4311 "operationName": "GetObject", 4312 "operationParams": { 4313 "Bucket": "bucket-name", 4314 "Key": "key" 4315 } 4316 } 4317 ], 4318 "params": { 4319 "Accelerate": true, 4320 "Bucket": "bucket-name", 4321 "ForcePathStyle": false, 4322 "Region": "af-south-1", 4323 "UseDualStack": true, 4324 "UseFIPS": false 4325 } 4326 }, 4327 { 4328 "documentation": "accelerate (dualstack=false)@af-south-1", 4329 "expect": { 4330 "endpoint": { 4331 "properties": { 4332 "authSchemes": [ 4333 { 4334 "name": "sigv4", 4335 "signingName": "s3", 4336 "signingRegion": "af-south-1", 4337 "disableDoubleEncoding": true 4338 } 4339 ] 4340 }, 4341 "url": "https://bucket-name.s3-accelerate.amazonaws.com" 4342 } 4343 }, 4344 "operationInputs": [ 4345 { 4346 "builtInParams": { 4347 "AWS::Region": "af-south-1", 4348 "AWS::S3::Accelerate": true 4349 }, 4350 "operationName": "GetObject", 4351 "operationParams": { 4352 "Bucket": "bucket-name", 4353 "Key": "key" 4354 } 4355 } 4356 ], 4357 "params": { 4358 "Accelerate": true, 4359 "Bucket": "bucket-name", 4360 "ForcePathStyle": false, 4361 "Region": "af-south-1", 4362 "UseDualStack": false, 4363 "UseFIPS": false 4364 } 4365 }, 4366 { 4367 "documentation": "virtual addressing + fips@af-south-1", 4368 "expect": { 4369 "endpoint": { 4370 "properties": { 4371 "authSchemes": [ 4372 { 4373 "name": "sigv4", 4374 "signingName": "s3", 4375 "signingRegion": "af-south-1", 4376 "disableDoubleEncoding": true 4377 } 4378 ] 4379 }, 4380 "url": "https://bucket-name.s3-fips.af-south-1.amazonaws.com" 4381 } 4382 }, 4383 "operationInputs": [ 4384 { 4385 "builtInParams": { 4386 "AWS::Region": "af-south-1", 4387 "AWS::UseFIPS": true 4388 }, 4389 "operationName": "GetObject", 4390 "operationParams": { 4391 "Bucket": "bucket-name", 4392 "Key": "key" 4393 } 4394 } 4395 ], 4396 "params": { 4397 "Accelerate": false, 4398 "Bucket": "bucket-name", 4399 "ForcePathStyle": false, 4400 "Region": "af-south-1", 4401 "UseDualStack": false, 4402 "UseFIPS": true 4403 } 4404 }, 4405 { 4406 "documentation": "virtual addressing + dualstack + fips@af-south-1", 4407 "expect": { 4408 "endpoint": { 4409 "properties": { 4410 "authSchemes": [ 4411 { 4412 "name": "sigv4", 4413 "signingName": "s3", 4414 "signingRegion": "af-south-1", 4415 "disableDoubleEncoding": true 4416 } 4417 ] 4418 }, 4419 "url": "https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com" 4420 } 4421 }, 4422 "operationInputs": [ 4423 { 4424 "builtInParams": { 4425 "AWS::Region": "af-south-1", 4426 "AWS::UseFIPS": true, 4427 "AWS::UseDualStack": true 4428 }, 4429 "operationName": "GetObject", 4430 "operationParams": { 4431 "Bucket": "bucket-name", 4432 "Key": "key" 4433 } 4434 } 4435 ], 4436 "params": { 4437 "Accelerate": false, 4438 "Bucket": "bucket-name", 4439 "ForcePathStyle": false, 4440 "Region": "af-south-1", 4441 "UseDualStack": true, 4442 "UseFIPS": true 4443 } 4444 }, 4445 { 4446 "documentation": "accelerate + fips = error@af-south-1", 4447 "expect": { 4448 "error": "Accelerate cannot be used with FIPS" 4449 }, 4450 "operationInputs": [ 4451 { 4452 "builtInParams": { 4453 "AWS::Region": "af-south-1", 4454 "AWS::UseFIPS": true, 4455 "AWS::S3::Accelerate": true 4456 }, 4457 "operationName": "GetObject", 4458 "operationParams": { 4459 "Bucket": "bucket-name", 4460 "Key": "key" 4461 } 4462 } 4463 ], 4464 "params": { 4465 "Accelerate": true, 4466 "Bucket": "bucket-name", 4467 "ForcePathStyle": false, 4468 "Region": "af-south-1", 4469 "UseDualStack": false, 4470 "UseFIPS": true 4471 } 4472 }, 4473 { 4474 "documentation": "vanilla path style@us-west-2", 4475 "expect": { 4476 "endpoint": { 4477 "properties": { 4478 "authSchemes": [ 4479 { 4480 "name": "sigv4", 4481 "signingName": "s3", 4482 "signingRegion": "us-west-2", 4483 "disableDoubleEncoding": true 4484 } 4485 ] 4486 }, 4487 "url": "https://s3.us-west-2.amazonaws.com/bucket-name" 4488 } 4489 }, 4490 "operationInputs": [ 4491 { 4492 "builtInParams": { 4493 "AWS::Region": "us-west-2", 4494 "AWS::S3::ForcePathStyle": true 4495 }, 4496 "operationName": "GetObject", 4497 "operationParams": { 4498 "Bucket": "bucket-name", 4499 "Key": "key" 4500 } 4501 } 4502 ], 4503 "params": { 4504 "Accelerate": false, 4505 "Bucket": "bucket-name", 4506 "ForcePathStyle": true, 4507 "Region": "us-west-2", 4508 "UseDualStack": false, 4509 "UseFIPS": false 4510 } 4511 }, 4512 { 4513 "documentation": "fips@us-gov-west-2, bucket is not S3-dns-compatible (subdomains)", 4514 "expect": { 4515 "endpoint": { 4516 "properties": { 4517 "authSchemes": [ 4518 { 4519 "signingName": "s3", 4520 "signingRegion": "us-gov-west-1", 4521 "disableDoubleEncoding": true, 4522 "name": "sigv4" 4523 } 4524 ] 4525 }, 4526 "url": "https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots" 4527 } 4528 }, 4529 "operationInputs": [ 4530 { 4531 "builtInParams": { 4532 "AWS::Region": "us-gov-west-1", 4533 "AWS::UseFIPS": true, 4534 "AWS::S3::ForcePathStyle": true 4535 }, 4536 "operationName": "GetObject", 4537 "operationParams": { 4538 "Bucket": "bucket.with.dots", 4539 "Key": "key" 4540 } 4541 } 4542 ], 4543 "params": { 4544 "Accelerate": false, 4545 "Bucket": "bucket.with.dots", 4546 "Region": "us-gov-west-1", 4547 "UseDualStack": false, 4548 "UseFIPS": true 4549 } 4550 }, 4551 { 4552 "documentation": "path style + accelerate = error@us-west-2", 4553 "expect": { 4554 "error": "Path-style addressing cannot be used with S3 Accelerate" 4555 }, 4556 "operationInputs": [ 4557 { 4558 "builtInParams": { 4559 "AWS::Region": "us-west-2", 4560 "AWS::S3::ForcePathStyle": true, 4561 "AWS::S3::Accelerate": true 4562 }, 4563 "operationName": "GetObject", 4564 "operationParams": { 4565 "Bucket": "bucket-name", 4566 "Key": "key" 4567 } 4568 } 4569 ], 4570 "params": { 4571 "Accelerate": true, 4572 "Bucket": "bucket-name", 4573 "ForcePathStyle": true, 4574 "Region": "us-west-2", 4575 "UseDualStack": false, 4576 "UseFIPS": false 4577 } 4578 }, 4579 { 4580 "documentation": "path style + dualstack@us-west-2", 4581 "expect": { 4582 "endpoint": { 4583 "properties": { 4584 "authSchemes": [ 4585 { 4586 "name": "sigv4", 4587 "signingName": "s3", 4588 "signingRegion": "us-west-2", 4589 "disableDoubleEncoding": true 4590 } 4591 ] 4592 }, 4593 "url": "https://s3.dualstack.us-west-2.amazonaws.com/bucket-name" 4594 } 4595 }, 4596 "operationInputs": [ 4597 { 4598 "builtInParams": { 4599 "AWS::Region": "us-west-2", 4600 "AWS::UseDualStack": true, 4601 "AWS::S3::ForcePathStyle": true 4602 }, 4603 "operationName": "GetObject", 4604 "operationParams": { 4605 "Bucket": "bucket-name", 4606 "Key": "key" 4607 } 4608 } 4609 ], 4610 "params": { 4611 "Accelerate": false, 4612 "Bucket": "bucket-name", 4613 "ForcePathStyle": true, 4614 "Region": "us-west-2", 4615 "UseDualStack": true, 4616 "UseFIPS": false 4617 } 4618 }, 4619 { 4620 "documentation": "path style + arn is error@us-west-2", 4621 "expect": { 4622 "error": "Path-style addressing cannot be used with ARN buckets" 4623 }, 4624 "operationInputs": [ 4625 { 4626 "builtInParams": { 4627 "AWS::Region": "us-west-2", 4628 "AWS::S3::ForcePathStyle": true 4629 }, 4630 "operationName": "GetObject", 4631 "operationParams": { 4632 "Bucket": "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket", 4633 "Key": "key" 4634 } 4635 } 4636 ], 4637 "params": { 4638 "Accelerate": false, 4639 "Bucket": "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket", 4640 "ForcePathStyle": true, 4641 "Region": "us-west-2", 4642 "UseDualStack": false, 4643 "UseFIPS": false 4644 } 4645 }, 4646 { 4647 "documentation": "path style + invalid DNS name@us-west-2", 4648 "expect": { 4649 "endpoint": { 4650 "properties": { 4651 "authSchemes": [ 4652 { 4653 "name": "sigv4", 4654 "signingName": "s3", 4655 "signingRegion": "us-west-2", 4656 "disableDoubleEncoding": true 4657 } 4658 ] 4659 }, 4660 "url": "https://s3.us-west-2.amazonaws.com/99a_b" 4661 } 4662 }, 4663 "operationInputs": [ 4664 { 4665 "builtInParams": { 4666 "AWS::Region": "us-west-2", 4667 "AWS::S3::ForcePathStyle": true 4668 }, 4669 "operationName": "GetObject", 4670 "operationParams": { 4671 "Bucket": "99a_b", 4672 "Key": "key" 4673 } 4674 } 4675 ], 4676 "params": { 4677 "Accelerate": false, 4678 "Bucket": "99a_b", 4679 "ForcePathStyle": true, 4680 "Region": "us-west-2", 4681 "UseDualStack": false, 4682 "UseFIPS": false 4683 } 4684 }, 4685 { 4686 "documentation": "no path style + invalid DNS name@us-west-2", 4687 "expect": { 4688 "endpoint": { 4689 "properties": { 4690 "authSchemes": [ 4691 { 4692 "name": "sigv4", 4693 "signingName": "s3", 4694 "signingRegion": "us-west-2", 4695 "disableDoubleEncoding": true 4696 } 4697 ] 4698 }, 4699 "url": "https://s3.us-west-2.amazonaws.com/99a_b" 4700 } 4701 }, 4702 "operationInputs": [ 4703 { 4704 "builtInParams": { 4705 "AWS::Region": "us-west-2" 4706 }, 4707 "operationName": "GetObject", 4708 "operationParams": { 4709 "Bucket": "99a_b", 4710 "Key": "key" 4711 } 4712 } 4713 ], 4714 "params": { 4715 "Accelerate": false, 4716 "Bucket": "99a_b", 4717 "Region": "us-west-2", 4718 "UseDualStack": false, 4719 "UseFIPS": false 4720 } 4721 }, 4722 { 4723 "documentation": "vanilla path style@cn-north-1", 4724 "expect": { 4725 "endpoint": { 4726 "properties": { 4727 "authSchemes": [ 4728 { 4729 "name": "sigv4", 4730 "signingName": "s3", 4731 "signingRegion": "cn-north-1", 4732 "disableDoubleEncoding": true 4733 } 4734 ] 4735 }, 4736 "url": "https://s3.cn-north-1.amazonaws.com.cn/bucket-name" 4737 } 4738 }, 4739 "operationInputs": [ 4740 { 4741 "builtInParams": { 4742 "AWS::Region": "cn-north-1", 4743 "AWS::S3::ForcePathStyle": true 4744 }, 4745 "operationName": "GetObject", 4746 "operationParams": { 4747 "Bucket": "bucket-name", 4748 "Key": "key" 4749 } 4750 } 4751 ], 4752 "params": { 4753 "Accelerate": false, 4754 "Bucket": "bucket-name", 4755 "ForcePathStyle": true, 4756 "Region": "cn-north-1", 4757 "UseDualStack": false, 4758 "UseFIPS": false 4759 } 4760 }, 4761 { 4762 "documentation": "path style + fips@cn-north-1", 4763 "expect": { 4764 "error": "Partition does not support FIPS" 4765 }, 4766 "operationInputs": [ 4767 { 4768 "builtInParams": { 4769 "AWS::Region": "cn-north-1", 4770 "AWS::UseFIPS": true, 4771 "AWS::S3::ForcePathStyle": true 4772 }, 4773 "operationName": "GetObject", 4774 "operationParams": { 4775 "Bucket": "bucket-name", 4776 "Key": "key" 4777 } 4778 } 4779 ], 4780 "params": { 4781 "Accelerate": false, 4782 "Bucket": "bucket-name", 4783 "ForcePathStyle": true, 4784 "Region": "cn-north-1", 4785 "UseDualStack": false, 4786 "UseFIPS": true 4787 } 4788 }, 4789 { 4790 "documentation": "path style + accelerate = error@cn-north-1", 4791 "expect": { 4792 "error": "Path-style addressing cannot be used with S3 Accelerate" 4793 }, 4794 "operationInputs": [ 4795 { 4796 "builtInParams": { 4797 "AWS::Region": "cn-north-1", 4798 "AWS::S3::ForcePathStyle": true, 4799 "AWS::S3::Accelerate": true 4800 }, 4801 "operationName": "GetObject", 4802 "operationParams": { 4803 "Bucket": "bucket-name", 4804 "Key": "key" 4805 } 4806 } 4807 ], 4808 "params": { 4809 "Accelerate": true, 4810 "Bucket": "bucket-name", 4811 "ForcePathStyle": true, 4812 "Region": "cn-north-1", 4813 "UseDualStack": false, 4814 "UseFIPS": false 4815 } 4816 }, 4817 { 4818 "documentation": "path style + dualstack@cn-north-1", 4819 "expect": { 4820 "endpoint": { 4821 "properties": { 4822 "authSchemes": [ 4823 { 4824 "name": "sigv4", 4825 "signingName": "s3", 4826 "signingRegion": "cn-north-1", 4827 "disableDoubleEncoding": true 4828 } 4829 ] 4830 }, 4831 "url": "https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name" 4832 } 4833 }, 4834 "operationInputs": [ 4835 { 4836 "builtInParams": { 4837 "AWS::Region": "cn-north-1", 4838 "AWS::UseDualStack": true, 4839 "AWS::S3::ForcePathStyle": true 4840 }, 4841 "operationName": "GetObject", 4842 "operationParams": { 4843 "Bucket": "bucket-name", 4844 "Key": "key" 4845 } 4846 } 4847 ], 4848 "params": { 4849 "Accelerate": false, 4850 "Bucket": "bucket-name", 4851 "ForcePathStyle": true, 4852 "Region": "cn-north-1", 4853 "UseDualStack": true, 4854 "UseFIPS": false 4855 } 4856 }, 4857 { 4858 "documentation": "path style + arn is error@cn-north-1", 4859 "expect": { 4860 "error": "Path-style addressing cannot be used with ARN buckets" 4861 }, 4862 "operationInputs": [ 4863 { 4864 "builtInParams": { 4865 "AWS::Region": "cn-north-1", 4866 "AWS::S3::ForcePathStyle": true 4867 }, 4868 "operationName": "GetObject", 4869 "operationParams": { 4870 "Bucket": "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket", 4871 "Key": "key" 4872 } 4873 } 4874 ], 4875 "params": { 4876 "Accelerate": false, 4877 "Bucket": "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket", 4878 "ForcePathStyle": true, 4879 "Region": "cn-north-1", 4880 "UseDualStack": false, 4881 "UseFIPS": false 4882 } 4883 }, 4884 { 4885 "documentation": "path style + invalid DNS name@cn-north-1", 4886 "expect": { 4887 "endpoint": { 4888 "properties": { 4889 "authSchemes": [ 4890 { 4891 "name": "sigv4", 4892 "signingName": "s3", 4893 "signingRegion": "cn-north-1", 4894 "disableDoubleEncoding": true 4895 } 4896 ] 4897 }, 4898 "url": "https://s3.cn-north-1.amazonaws.com.cn/99a_b" 4899 } 4900 }, 4901 "operationInputs": [ 4902 { 4903 "builtInParams": { 4904 "AWS::Region": "cn-north-1", 4905 "AWS::S3::ForcePathStyle": true 4906 }, 4907 "operationName": "GetObject", 4908 "operationParams": { 4909 "Bucket": "99a_b", 4910 "Key": "key" 4911 } 4912 } 4913 ], 4914 "params": { 4915 "Accelerate": false, 4916 "Bucket": "99a_b", 4917 "ForcePathStyle": true, 4918 "Region": "cn-north-1", 4919 "UseDualStack": false, 4920 "UseFIPS": false 4921 } 4922 }, 4923 { 4924 "documentation": "no path style + invalid DNS name@cn-north-1", 4925 "expect": { 4926 "endpoint": { 4927 "properties": { 4928 "authSchemes": [ 4929 { 4930 "name": "sigv4", 4931 "signingName": "s3", 4932 "signingRegion": "cn-north-1", 4933 "disableDoubleEncoding": true 4934 } 4935 ] 4936 }, 4937 "url": "https://s3.cn-north-1.amazonaws.com.cn/99a_b" 4938 } 4939 }, 4940 "operationInputs": [ 4941 { 4942 "builtInParams": { 4943 "AWS::Region": "cn-north-1" 4944 }, 4945 "operationName": "GetObject", 4946 "operationParams": { 4947 "Bucket": "99a_b", 4948 "Key": "key" 4949 } 4950 } 4951 ], 4952 "params": { 4953 "Accelerate": false, 4954 "Bucket": "99a_b", 4955 "Region": "cn-north-1", 4956 "UseDualStack": false, 4957 "UseFIPS": false 4958 } 4959 }, 4960 { 4961 "documentation": "vanilla path style@af-south-1", 4962 "expect": { 4963 "endpoint": { 4964 "properties": { 4965 "authSchemes": [ 4966 { 4967 "name": "sigv4", 4968 "signingName": "s3", 4969 "signingRegion": "af-south-1", 4970 "disableDoubleEncoding": true 4971 } 4972 ] 4973 }, 4974 "url": "https://s3.af-south-1.amazonaws.com/bucket-name" 4975 } 4976 }, 4977 "operationInputs": [ 4978 { 4979 "builtInParams": { 4980 "AWS::Region": "af-south-1", 4981 "AWS::S3::ForcePathStyle": true 4982 }, 4983 "operationName": "GetObject", 4984 "operationParams": { 4985 "Bucket": "bucket-name", 4986 "Key": "key" 4987 } 4988 } 4989 ], 4990 "params": { 4991 "Accelerate": false, 4992 "Bucket": "bucket-name", 4993 "ForcePathStyle": true, 4994 "Region": "af-south-1", 4995 "UseDualStack": false, 4996 "UseFIPS": false 4997 } 4998 }, 4999 { 5000 "documentation": "path style + fips@af-south-1", 5001 "expect": { 5002 "endpoint": { 5003 "properties": { 5004 "authSchemes": [ 5005 { 5006 "signingName": "s3", 5007 "signingRegion": "af-south-1", 5008 "disableDoubleEncoding": true, 5009 "name": "sigv4" 5010 } 5011 ] 5012 }, 5013 "url": "https://s3-fips.af-south-1.amazonaws.com/bucket-name" 5014 } 5015 }, 5016 "operationInputs": [ 5017 { 5018 "builtInParams": { 5019 "AWS::Region": "af-south-1", 5020 "AWS::UseFIPS": true, 5021 "AWS::S3::ForcePathStyle": true 5022 }, 5023 "operationName": "GetObject", 5024 "operationParams": { 5025 "Bucket": "bucket-name", 5026 "Key": "key" 5027 } 5028 } 5029 ], 5030 "params": { 5031 "Accelerate": false, 5032 "Bucket": "bucket-name", 5033 "ForcePathStyle": true, 5034 "Region": "af-south-1", 5035 "UseDualStack": false, 5036 "UseFIPS": true 5037 } 5038 }, 5039 { 5040 "documentation": "path style + accelerate = error@af-south-1", 5041 "expect": { 5042 "error": "Path-style addressing cannot be used with S3 Accelerate" 5043 }, 5044 "operationInputs": [ 5045 { 5046 "builtInParams": { 5047 "AWS::Region": "af-south-1", 5048 "AWS::S3::ForcePathStyle": true, 5049 "AWS::S3::Accelerate": true 5050 }, 5051 "operationName": "GetObject", 5052 "operationParams": { 5053 "Bucket": "bucket-name", 5054 "Key": "key" 5055 } 5056 } 5057 ], 5058 "params": { 5059 "Accelerate": true, 5060 "Bucket": "bucket-name", 5061 "ForcePathStyle": true, 5062 "Region": "af-south-1", 5063 "UseDualStack": false, 5064 "UseFIPS": false 5065 } 5066 }, 5067 { 5068 "documentation": "path style + dualstack@af-south-1", 5069 "expect": { 5070 "endpoint": { 5071 "properties": { 5072 "authSchemes": [ 5073 { 5074 "name": "sigv4", 5075 "signingName": "s3", 5076 "signingRegion": "af-south-1", 5077 "disableDoubleEncoding": true 5078 } 5079 ] 5080 }, 5081 "url": "https://s3.dualstack.af-south-1.amazonaws.com/bucket-name" 5082 } 5083 }, 5084 "operationInputs": [ 5085 { 5086 "builtInParams": { 5087 "AWS::Region": "af-south-1", 5088 "AWS::UseDualStack": true, 5089 "AWS::S3::ForcePathStyle": true 5090 }, 5091 "operationName": "GetObject", 5092 "operationParams": { 5093 "Bucket": "bucket-name", 5094 "Key": "key" 5095 } 5096 } 5097 ], 5098 "params": { 5099 "Accelerate": false, 5100 "Bucket": "bucket-name", 5101 "ForcePathStyle": true, 5102 "Region": "af-south-1", 5103 "UseDualStack": true, 5104 "UseFIPS": false 5105 } 5106 }, 5107 { 5108 "documentation": "path style + arn is error@af-south-1", 5109 "expect": { 5110 "error": "Path-style addressing cannot be used with ARN buckets" 5111 }, 5112 "operationInputs": [ 5113 { 5114 "builtInParams": { 5115 "AWS::Region": "af-south-1", 5116 "AWS::S3::ForcePathStyle": true 5117 }, 5118 "operationName": "GetObject", 5119 "operationParams": { 5120 "Bucket": "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket", 5121 "Key": "key" 5122 } 5123 } 5124 ], 5125 "params": { 5126 "Accelerate": false, 5127 "Bucket": "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket", 5128 "ForcePathStyle": true, 5129 "Region": "af-south-1", 5130 "UseDualStack": false, 5131 "UseFIPS": false 5132 } 5133 }, 5134 { 5135 "documentation": "path style + invalid DNS name@af-south-1", 5136 "expect": { 5137 "endpoint": { 5138 "properties": { 5139 "authSchemes": [ 5140 { 5141 "name": "sigv4", 5142 "signingName": "s3", 5143 "signingRegion": "af-south-1", 5144 "disableDoubleEncoding": true 5145 } 5146 ] 5147 }, 5148 "url": "https://s3.af-south-1.amazonaws.com/99a_b" 5149 } 5150 }, 5151 "operationInputs": [ 5152 { 5153 "builtInParams": { 5154 "AWS::Region": "af-south-1", 5155 "AWS::S3::ForcePathStyle": true 5156 }, 5157 "operationName": "GetObject", 5158 "operationParams": { 5159 "Bucket": "99a_b", 5160 "Key": "key" 5161 } 5162 } 5163 ], 5164 "params": { 5165 "Accelerate": false, 5166 "Bucket": "99a_b", 5167 "ForcePathStyle": true, 5168 "Region": "af-south-1", 5169 "UseDualStack": false, 5170 "UseFIPS": false 5171 } 5172 }, 5173 { 5174 "documentation": "no path style + invalid DNS name@af-south-1", 5175 "expect": { 5176 "endpoint": { 5177 "properties": { 5178 "authSchemes": [ 5179 { 5180 "name": "sigv4", 5181 "signingName": "s3", 5182 "signingRegion": "af-south-1", 5183 "disableDoubleEncoding": true 5184 } 5185 ] 5186 }, 5187 "url": "https://s3.af-south-1.amazonaws.com/99a_b" 5188 } 5189 }, 5190 "operationInputs": [ 5191 { 5192 "builtInParams": { 5193 "AWS::Region": "af-south-1" 5194 }, 5195 "operationName": "GetObject", 5196 "operationParams": { 5197 "Bucket": "99a_b", 5198 "Key": "key" 5199 } 5200 } 5201 ], 5202 "params": { 5203 "Accelerate": false, 5204 "Bucket": "99a_b", 5205 "Region": "af-south-1", 5206 "UseDualStack": false, 5207 "UseFIPS": false 5208 } 5209 }, 5210 { 5211 "documentation": "virtual addressing + private link@us-west-2", 5212 "expect": { 5213 "endpoint": { 5214 "properties": { 5215 "authSchemes": [ 5216 { 5217 "name": "sigv4", 5218 "signingName": "s3", 5219 "signingRegion": "us-west-2", 5220 "disableDoubleEncoding": true 5221 } 5222 ] 5223 }, 5224 "url": "http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5225 } 5226 }, 5227 "operationInputs": [ 5228 { 5229 "builtInParams": { 5230 "AWS::Region": "us-west-2", 5231 "SDK::Endpoint": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5232 }, 5233 "operationName": "GetObject", 5234 "operationParams": { 5235 "Bucket": "bucket-name", 5236 "Key": "key" 5237 } 5238 } 5239 ], 5240 "params": { 5241 "Accelerate": false, 5242 "Bucket": "bucket-name", 5243 "ForcePathStyle": false, 5244 "Endpoint": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5245 "Region": "us-west-2", 5246 "UseDualStack": false, 5247 "UseFIPS": false 5248 } 5249 }, 5250 { 5251 "documentation": "path style + private link@us-west-2", 5252 "expect": { 5253 "endpoint": { 5254 "properties": { 5255 "authSchemes": [ 5256 { 5257 "name": "sigv4", 5258 "signingName": "s3", 5259 "signingRegion": "us-west-2", 5260 "disableDoubleEncoding": true 5261 } 5262 ] 5263 }, 5264 "url": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name" 5265 } 5266 }, 5267 "operationInputs": [ 5268 { 5269 "builtInParams": { 5270 "AWS::Region": "us-west-2", 5271 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5272 "AWS::S3::ForcePathStyle": true 5273 }, 5274 "operationName": "GetObject", 5275 "operationParams": { 5276 "Bucket": "bucket-name", 5277 "Key": "key" 5278 } 5279 } 5280 ], 5281 "params": { 5282 "Accelerate": false, 5283 "Bucket": "bucket-name", 5284 "ForcePathStyle": true, 5285 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5286 "Region": "us-west-2", 5287 "UseDualStack": false, 5288 "UseFIPS": false 5289 } 5290 }, 5291 { 5292 "documentation": "SDK::Host + FIPS@us-west-2", 5293 "expect": { 5294 "error": "A custom endpoint cannot be combined with FIPS" 5295 }, 5296 "operationInputs": [ 5297 { 5298 "builtInParams": { 5299 "AWS::Region": "us-west-2", 5300 "AWS::UseFIPS": true, 5301 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5302 }, 5303 "operationName": "GetObject", 5304 "operationParams": { 5305 "Bucket": "bucket-name", 5306 "Key": "key" 5307 } 5308 } 5309 ], 5310 "params": { 5311 "Accelerate": false, 5312 "Bucket": "bucket-name", 5313 "ForcePathStyle": false, 5314 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5315 "Region": "us-west-2", 5316 "UseDualStack": false, 5317 "UseFIPS": true 5318 } 5319 }, 5320 { 5321 "documentation": "SDK::Host + DualStack@us-west-2", 5322 "expect": { 5323 "error": "Cannot set dual-stack in combination with a custom endpoint." 5324 }, 5325 "operationInputs": [ 5326 { 5327 "builtInParams": { 5328 "AWS::Region": "us-west-2", 5329 "AWS::UseDualStack": true, 5330 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5331 }, 5332 "operationName": "GetObject", 5333 "operationParams": { 5334 "Bucket": "bucket-name", 5335 "Key": "key" 5336 } 5337 } 5338 ], 5339 "params": { 5340 "Accelerate": false, 5341 "Bucket": "bucket-name", 5342 "ForcePathStyle": false, 5343 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5344 "Region": "us-west-2", 5345 "UseDualStack": true, 5346 "UseFIPS": false 5347 } 5348 }, 5349 { 5350 "documentation": "SDK::HOST + accelerate@us-west-2", 5351 "expect": { 5352 "error": "A custom endpoint cannot be combined with S3 Accelerate" 5353 }, 5354 "operationInputs": [ 5355 { 5356 "builtInParams": { 5357 "AWS::Region": "us-west-2", 5358 "SDK::Endpoint": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5359 "AWS::S3::Accelerate": true 5360 }, 5361 "operationName": "GetObject", 5362 "operationParams": { 5363 "Bucket": "bucket-name", 5364 "Key": "key" 5365 } 5366 } 5367 ], 5368 "params": { 5369 "Accelerate": true, 5370 "Bucket": "bucket-name", 5371 "ForcePathStyle": false, 5372 "Endpoint": "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5373 "Region": "us-west-2", 5374 "UseDualStack": false, 5375 "UseFIPS": false 5376 } 5377 }, 5378 { 5379 "documentation": "SDK::Host + access point ARN@us-west-2", 5380 "expect": { 5381 "endpoint": { 5382 "properties": { 5383 "authSchemes": [ 5384 { 5385 "name": "sigv4", 5386 "signingName": "s3", 5387 "signingRegion": "us-west-2", 5388 "disableDoubleEncoding": true 5389 } 5390 ] 5391 }, 5392 "url": "https://myendpoint-123456789012.beta.example.com" 5393 } 5394 }, 5395 "operationInputs": [ 5396 { 5397 "builtInParams": { 5398 "AWS::Region": "us-west-2", 5399 "SDK::Endpoint": "https://beta.example.com" 5400 }, 5401 "operationName": "GetObject", 5402 "operationParams": { 5403 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5404 "Key": "key" 5405 } 5406 } 5407 ], 5408 "params": { 5409 "Accelerate": false, 5410 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5411 "ForcePathStyle": false, 5412 "Endpoint": "https://beta.example.com", 5413 "Region": "us-west-2", 5414 "UseDualStack": false, 5415 "UseFIPS": false 5416 } 5417 }, 5418 { 5419 "documentation": "virtual addressing + private link@cn-north-1", 5420 "expect": { 5421 "endpoint": { 5422 "properties": { 5423 "authSchemes": [ 5424 { 5425 "name": "sigv4", 5426 "signingName": "s3", 5427 "signingRegion": "cn-north-1", 5428 "disableDoubleEncoding": true 5429 } 5430 ] 5431 }, 5432 "url": "https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5433 } 5434 }, 5435 "operationInputs": [ 5436 { 5437 "builtInParams": { 5438 "AWS::Region": "cn-north-1", 5439 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5440 }, 5441 "operationName": "GetObject", 5442 "operationParams": { 5443 "Bucket": "bucket-name", 5444 "Key": "key" 5445 } 5446 } 5447 ], 5448 "params": { 5449 "Accelerate": false, 5450 "Bucket": "bucket-name", 5451 "ForcePathStyle": false, 5452 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5453 "Region": "cn-north-1", 5454 "UseDualStack": false, 5455 "UseFIPS": false 5456 } 5457 }, 5458 { 5459 "documentation": "path style + private link@cn-north-1", 5460 "expect": { 5461 "endpoint": { 5462 "properties": { 5463 "authSchemes": [ 5464 { 5465 "name": "sigv4", 5466 "signingName": "s3", 5467 "signingRegion": "cn-north-1", 5468 "disableDoubleEncoding": true 5469 } 5470 ] 5471 }, 5472 "url": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name" 5473 } 5474 }, 5475 "operationInputs": [ 5476 { 5477 "builtInParams": { 5478 "AWS::Region": "cn-north-1", 5479 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5480 "AWS::S3::ForcePathStyle": true 5481 }, 5482 "operationName": "GetObject", 5483 "operationParams": { 5484 "Bucket": "bucket-name", 5485 "Key": "key" 5486 } 5487 } 5488 ], 5489 "params": { 5490 "Accelerate": false, 5491 "Bucket": "bucket-name", 5492 "ForcePathStyle": true, 5493 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5494 "Region": "cn-north-1", 5495 "UseDualStack": false, 5496 "UseFIPS": false 5497 } 5498 }, 5499 { 5500 "documentation": "FIPS@cn-north-1", 5501 "expect": { 5502 "error": "Partition does not support FIPS" 5503 }, 5504 "params": { 5505 "Accelerate": false, 5506 "Bucket": "bucket-name", 5507 "ForcePathStyle": false, 5508 "Region": "cn-north-1", 5509 "UseDualStack": false, 5510 "UseFIPS": true 5511 } 5512 }, 5513 { 5514 "documentation": "SDK::Host + DualStack@cn-north-1", 5515 "expect": { 5516 "error": "Cannot set dual-stack in combination with a custom endpoint." 5517 }, 5518 "operationInputs": [ 5519 { 5520 "builtInParams": { 5521 "AWS::Region": "cn-north-1", 5522 "AWS::UseDualStack": true, 5523 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5524 }, 5525 "operationName": "GetObject", 5526 "operationParams": { 5527 "Bucket": "bucket-name", 5528 "Key": "key" 5529 } 5530 } 5531 ], 5532 "params": { 5533 "Accelerate": false, 5534 "Bucket": "bucket-name", 5535 "ForcePathStyle": false, 5536 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5537 "Region": "cn-north-1", 5538 "UseDualStack": true, 5539 "UseFIPS": false 5540 } 5541 }, 5542 { 5543 "documentation": "SDK::HOST + accelerate@cn-north-1", 5544 "expect": { 5545 "error": "A custom endpoint cannot be combined with S3 Accelerate" 5546 }, 5547 "params": { 5548 "Accelerate": true, 5549 "Bucket": "bucket-name", 5550 "ForcePathStyle": false, 5551 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5552 "Region": "cn-north-1", 5553 "UseDualStack": false, 5554 "UseFIPS": false 5555 } 5556 }, 5557 { 5558 "documentation": "SDK::Host + access point ARN@cn-north-1", 5559 "expect": { 5560 "endpoint": { 5561 "properties": { 5562 "authSchemes": [ 5563 { 5564 "name": "sigv4", 5565 "signingName": "s3", 5566 "signingRegion": "cn-north-1", 5567 "disableDoubleEncoding": true 5568 } 5569 ] 5570 }, 5571 "url": "https://myendpoint-123456789012.beta.example.com" 5572 } 5573 }, 5574 "operationInputs": [ 5575 { 5576 "builtInParams": { 5577 "AWS::Region": "cn-north-1", 5578 "SDK::Endpoint": "https://beta.example.com" 5579 }, 5580 "operationName": "GetObject", 5581 "operationParams": { 5582 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 5583 "Key": "key" 5584 } 5585 } 5586 ], 5587 "params": { 5588 "Accelerate": false, 5589 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 5590 "ForcePathStyle": false, 5591 "Endpoint": "https://beta.example.com", 5592 "Region": "cn-north-1", 5593 "UseDualStack": false, 5594 "UseFIPS": false 5595 } 5596 }, 5597 { 5598 "documentation": "virtual addressing + private link@af-south-1", 5599 "expect": { 5600 "endpoint": { 5601 "properties": { 5602 "authSchemes": [ 5603 { 5604 "name": "sigv4", 5605 "signingName": "s3", 5606 "signingRegion": "af-south-1", 5607 "disableDoubleEncoding": true 5608 } 5609 ] 5610 }, 5611 "url": "https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5612 } 5613 }, 5614 "operationInputs": [ 5615 { 5616 "builtInParams": { 5617 "AWS::Region": "af-south-1", 5618 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5619 }, 5620 "operationName": "GetObject", 5621 "operationParams": { 5622 "Bucket": "bucket-name", 5623 "Key": "key" 5624 } 5625 } 5626 ], 5627 "params": { 5628 "Accelerate": false, 5629 "Bucket": "bucket-name", 5630 "ForcePathStyle": false, 5631 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5632 "Region": "af-south-1", 5633 "UseDualStack": false, 5634 "UseFIPS": false 5635 } 5636 }, 5637 { 5638 "documentation": "path style + private link@af-south-1", 5639 "expect": { 5640 "endpoint": { 5641 "properties": { 5642 "authSchemes": [ 5643 { 5644 "name": "sigv4", 5645 "signingName": "s3", 5646 "signingRegion": "af-south-1", 5647 "disableDoubleEncoding": true 5648 } 5649 ] 5650 }, 5651 "url": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name" 5652 } 5653 }, 5654 "operationInputs": [ 5655 { 5656 "builtInParams": { 5657 "AWS::Region": "af-south-1", 5658 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5659 "AWS::S3::ForcePathStyle": true 5660 }, 5661 "operationName": "GetObject", 5662 "operationParams": { 5663 "Bucket": "bucket-name", 5664 "Key": "key" 5665 } 5666 } 5667 ], 5668 "params": { 5669 "Accelerate": false, 5670 "Bucket": "bucket-name", 5671 "ForcePathStyle": true, 5672 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5673 "Region": "af-south-1", 5674 "UseDualStack": false, 5675 "UseFIPS": false 5676 } 5677 }, 5678 { 5679 "documentation": "SDK::Host + FIPS@af-south-1", 5680 "expect": { 5681 "error": "A custom endpoint cannot be combined with FIPS" 5682 }, 5683 "operationInputs": [ 5684 { 5685 "builtInParams": { 5686 "AWS::Region": "af-south-1", 5687 "AWS::UseFIPS": true, 5688 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5689 }, 5690 "operationName": "GetObject", 5691 "operationParams": { 5692 "Bucket": "bucket-name", 5693 "Key": "key" 5694 } 5695 } 5696 ], 5697 "params": { 5698 "Accelerate": false, 5699 "Bucket": "bucket-name", 5700 "ForcePathStyle": false, 5701 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5702 "Region": "af-south-1", 5703 "UseDualStack": false, 5704 "UseFIPS": true 5705 } 5706 }, 5707 { 5708 "documentation": "SDK::Host + DualStack@af-south-1", 5709 "expect": { 5710 "error": "Cannot set dual-stack in combination with a custom endpoint." 5711 }, 5712 "operationInputs": [ 5713 { 5714 "builtInParams": { 5715 "AWS::Region": "af-south-1", 5716 "AWS::UseDualStack": true, 5717 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 5718 }, 5719 "operationName": "GetObject", 5720 "operationParams": { 5721 "Bucket": "bucket-name", 5722 "Key": "key" 5723 } 5724 } 5725 ], 5726 "params": { 5727 "Accelerate": false, 5728 "Bucket": "bucket-name", 5729 "ForcePathStyle": false, 5730 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5731 "Region": "af-south-1", 5732 "UseDualStack": true, 5733 "UseFIPS": false 5734 } 5735 }, 5736 { 5737 "documentation": "SDK::HOST + accelerate@af-south-1", 5738 "expect": { 5739 "error": "A custom endpoint cannot be combined with S3 Accelerate" 5740 }, 5741 "operationInputs": [ 5742 { 5743 "builtInParams": { 5744 "AWS::Region": "af-south-1", 5745 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5746 "AWS::S3::Accelerate": true 5747 }, 5748 "operationName": "GetObject", 5749 "operationParams": { 5750 "Bucket": "bucket-name", 5751 "Key": "key" 5752 } 5753 } 5754 ], 5755 "params": { 5756 "Accelerate": true, 5757 "Bucket": "bucket-name", 5758 "ForcePathStyle": false, 5759 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 5760 "Region": "af-south-1", 5761 "UseDualStack": false, 5762 "UseFIPS": false 5763 } 5764 }, 5765 { 5766 "documentation": "SDK::Host + access point ARN@af-south-1", 5767 "expect": { 5768 "endpoint": { 5769 "properties": { 5770 "authSchemes": [ 5771 { 5772 "name": "sigv4", 5773 "signingName": "s3", 5774 "signingRegion": "af-south-1", 5775 "disableDoubleEncoding": true 5776 } 5777 ] 5778 }, 5779 "url": "https://myendpoint-123456789012.beta.example.com" 5780 } 5781 }, 5782 "operationInputs": [ 5783 { 5784 "builtInParams": { 5785 "AWS::Region": "af-south-1", 5786 "SDK::Endpoint": "https://beta.example.com" 5787 }, 5788 "operationName": "GetObject", 5789 "operationParams": { 5790 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 5791 "Key": "key" 5792 } 5793 } 5794 ], 5795 "params": { 5796 "Accelerate": false, 5797 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 5798 "ForcePathStyle": false, 5799 "Endpoint": "https://beta.example.com", 5800 "Region": "af-south-1", 5801 "UseDualStack": false, 5802 "UseFIPS": false 5803 } 5804 }, 5805 { 5806 "documentation": "vanilla access point arn@us-west-2", 5807 "expect": { 5808 "endpoint": { 5809 "properties": { 5810 "authSchemes": [ 5811 { 5812 "name": "sigv4", 5813 "signingName": "s3", 5814 "signingRegion": "us-west-2", 5815 "disableDoubleEncoding": true 5816 } 5817 ] 5818 }, 5819 "url": "https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com" 5820 } 5821 }, 5822 "operationInputs": [ 5823 { 5824 "builtInParams": { 5825 "AWS::Region": "us-west-2" 5826 }, 5827 "operationName": "GetObject", 5828 "operationParams": { 5829 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5830 "Key": "key" 5831 } 5832 } 5833 ], 5834 "params": { 5835 "Accelerate": false, 5836 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5837 "ForcePathStyle": false, 5838 "Region": "us-west-2", 5839 "UseDualStack": false, 5840 "UseFIPS": false 5841 } 5842 }, 5843 { 5844 "documentation": "access point arn + FIPS@us-west-2", 5845 "expect": { 5846 "endpoint": { 5847 "properties": { 5848 "authSchemes": [ 5849 { 5850 "name": "sigv4", 5851 "signingName": "s3", 5852 "signingRegion": "us-west-2", 5853 "disableDoubleEncoding": true 5854 } 5855 ] 5856 }, 5857 "url": "https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com" 5858 } 5859 }, 5860 "operationInputs": [ 5861 { 5862 "builtInParams": { 5863 "AWS::Region": "us-west-2", 5864 "AWS::UseFIPS": true 5865 }, 5866 "operationName": "GetObject", 5867 "operationParams": { 5868 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5869 "Key": "key" 5870 } 5871 } 5872 ], 5873 "params": { 5874 "Accelerate": false, 5875 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5876 "ForcePathStyle": false, 5877 "Region": "us-west-2", 5878 "UseDualStack": false, 5879 "UseFIPS": true 5880 } 5881 }, 5882 { 5883 "documentation": "access point arn + accelerate = error@us-west-2", 5884 "expect": { 5885 "error": "Access Points do not support S3 Accelerate" 5886 }, 5887 "operationInputs": [ 5888 { 5889 "builtInParams": { 5890 "AWS::Region": "us-west-2", 5891 "AWS::S3::Accelerate": true 5892 }, 5893 "operationName": "GetObject", 5894 "operationParams": { 5895 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5896 "Key": "key" 5897 } 5898 } 5899 ], 5900 "params": { 5901 "Accelerate": true, 5902 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5903 "ForcePathStyle": false, 5904 "Region": "us-west-2", 5905 "UseDualStack": false, 5906 "UseFIPS": false 5907 } 5908 }, 5909 { 5910 "documentation": "access point arn + FIPS + DualStack@us-west-2", 5911 "expect": { 5912 "endpoint": { 5913 "properties": { 5914 "authSchemes": [ 5915 { 5916 "name": "sigv4", 5917 "signingName": "s3", 5918 "signingRegion": "us-west-2", 5919 "disableDoubleEncoding": true 5920 } 5921 ] 5922 }, 5923 "url": "https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com" 5924 } 5925 }, 5926 "operationInputs": [ 5927 { 5928 "builtInParams": { 5929 "AWS::Region": "us-west-2", 5930 "AWS::UseFIPS": true, 5931 "AWS::UseDualStack": true 5932 }, 5933 "operationName": "GetObject", 5934 "operationParams": { 5935 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5936 "Key": "key" 5937 } 5938 } 5939 ], 5940 "params": { 5941 "Accelerate": false, 5942 "Bucket": "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint", 5943 "ForcePathStyle": false, 5944 "Region": "us-west-2", 5945 "UseDualStack": true, 5946 "UseFIPS": true 5947 } 5948 }, 5949 { 5950 "documentation": "vanilla access point arn@cn-north-1", 5951 "expect": { 5952 "endpoint": { 5953 "properties": { 5954 "authSchemes": [ 5955 { 5956 "name": "sigv4", 5957 "signingName": "s3", 5958 "signingRegion": "cn-north-1", 5959 "disableDoubleEncoding": true 5960 } 5961 ] 5962 }, 5963 "url": "https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn" 5964 } 5965 }, 5966 "operationInputs": [ 5967 { 5968 "builtInParams": { 5969 "AWS::Region": "cn-north-1" 5970 }, 5971 "operationName": "GetObject", 5972 "operationParams": { 5973 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 5974 "Key": "key" 5975 } 5976 } 5977 ], 5978 "params": { 5979 "Accelerate": false, 5980 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 5981 "ForcePathStyle": false, 5982 "Region": "cn-north-1", 5983 "UseDualStack": false, 5984 "UseFIPS": false 5985 } 5986 }, 5987 { 5988 "documentation": "access point arn + FIPS@cn-north-1", 5989 "expect": { 5990 "error": "Partition does not support FIPS" 5991 }, 5992 "params": { 5993 "Accelerate": false, 5994 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 5995 "ForcePathStyle": false, 5996 "Region": "cn-north-1", 5997 "UseDualStack": false, 5998 "UseFIPS": true 5999 } 6000 }, 6001 { 6002 "documentation": "access point arn + accelerate = error@cn-north-1", 6003 "expect": { 6004 "error": "Access Points do not support S3 Accelerate" 6005 }, 6006 "operationInputs": [ 6007 { 6008 "builtInParams": { 6009 "AWS::Region": "cn-north-1", 6010 "AWS::S3::Accelerate": true 6011 }, 6012 "operationName": "GetObject", 6013 "operationParams": { 6014 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 6015 "Key": "key" 6016 } 6017 } 6018 ], 6019 "params": { 6020 "Accelerate": true, 6021 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 6022 "ForcePathStyle": false, 6023 "Region": "cn-north-1", 6024 "UseDualStack": false, 6025 "UseFIPS": false 6026 } 6027 }, 6028 { 6029 "documentation": "access point arn + FIPS + DualStack@cn-north-1", 6030 "expect": { 6031 "error": "Partition does not support FIPS" 6032 }, 6033 "params": { 6034 "Accelerate": false, 6035 "Bucket": "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint", 6036 "ForcePathStyle": false, 6037 "Region": "cn-north-1", 6038 "UseDualStack": true, 6039 "UseFIPS": true 6040 } 6041 }, 6042 { 6043 "documentation": "vanilla access point arn@af-south-1", 6044 "expect": { 6045 "endpoint": { 6046 "properties": { 6047 "authSchemes": [ 6048 { 6049 "name": "sigv4", 6050 "signingName": "s3", 6051 "signingRegion": "af-south-1", 6052 "disableDoubleEncoding": true 6053 } 6054 ] 6055 }, 6056 "url": "https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com" 6057 } 6058 }, 6059 "operationInputs": [ 6060 { 6061 "builtInParams": { 6062 "AWS::Region": "af-south-1" 6063 }, 6064 "operationName": "GetObject", 6065 "operationParams": { 6066 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6067 "Key": "key" 6068 } 6069 } 6070 ], 6071 "params": { 6072 "Accelerate": false, 6073 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6074 "ForcePathStyle": false, 6075 "Region": "af-south-1", 6076 "UseDualStack": false, 6077 "UseFIPS": false 6078 } 6079 }, 6080 { 6081 "documentation": "access point arn + FIPS@af-south-1", 6082 "expect": { 6083 "endpoint": { 6084 "properties": { 6085 "authSchemes": [ 6086 { 6087 "name": "sigv4", 6088 "signingName": "s3", 6089 "signingRegion": "af-south-1", 6090 "disableDoubleEncoding": true 6091 } 6092 ] 6093 }, 6094 "url": "https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com" 6095 } 6096 }, 6097 "operationInputs": [ 6098 { 6099 "builtInParams": { 6100 "AWS::Region": "af-south-1", 6101 "AWS::UseFIPS": true 6102 }, 6103 "operationName": "GetObject", 6104 "operationParams": { 6105 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6106 "Key": "key" 6107 } 6108 } 6109 ], 6110 "params": { 6111 "Accelerate": false, 6112 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6113 "ForcePathStyle": false, 6114 "Region": "af-south-1", 6115 "UseDualStack": false, 6116 "UseFIPS": true 6117 } 6118 }, 6119 { 6120 "documentation": "access point arn + accelerate = error@af-south-1", 6121 "expect": { 6122 "error": "Access Points do not support S3 Accelerate" 6123 }, 6124 "operationInputs": [ 6125 { 6126 "builtInParams": { 6127 "AWS::Region": "af-south-1", 6128 "AWS::S3::Accelerate": true 6129 }, 6130 "operationName": "GetObject", 6131 "operationParams": { 6132 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6133 "Key": "key" 6134 } 6135 } 6136 ], 6137 "params": { 6138 "Accelerate": true, 6139 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6140 "ForcePathStyle": false, 6141 "Region": "af-south-1", 6142 "UseDualStack": false, 6143 "UseFIPS": false 6144 } 6145 }, 6146 { 6147 "documentation": "access point arn + FIPS + DualStack@af-south-1", 6148 "expect": { 6149 "endpoint": { 6150 "properties": { 6151 "authSchemes": [ 6152 { 6153 "name": "sigv4", 6154 "signingName": "s3", 6155 "signingRegion": "af-south-1", 6156 "disableDoubleEncoding": true 6157 } 6158 ] 6159 }, 6160 "url": "https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com" 6161 } 6162 }, 6163 "operationInputs": [ 6164 { 6165 "builtInParams": { 6166 "AWS::Region": "af-south-1", 6167 "AWS::UseFIPS": true, 6168 "AWS::UseDualStack": true 6169 }, 6170 "operationName": "GetObject", 6171 "operationParams": { 6172 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6173 "Key": "key" 6174 } 6175 } 6176 ], 6177 "params": { 6178 "Accelerate": false, 6179 "Bucket": "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint", 6180 "ForcePathStyle": false, 6181 "Region": "af-south-1", 6182 "UseDualStack": true, 6183 "UseFIPS": true 6184 } 6185 }, 6186 { 6187 "documentation": "S3 outposts vanilla test", 6188 "expect": { 6189 "endpoint": { 6190 "properties": { 6191 "authSchemes": [ 6192 { 6193 "name": "sigv4", 6194 "signingName": "s3-outposts", 6195 "signingRegion": "us-west-2", 6196 "disableDoubleEncoding": true 6197 } 6198 ] 6199 }, 6200 "url": "https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com" 6201 } 6202 }, 6203 "operationInputs": [ 6204 { 6205 "builtInParams": { 6206 "AWS::Region": "us-west-2" 6207 }, 6208 "operationName": "GetObject", 6209 "operationParams": { 6210 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports", 6211 "Key": "key" 6212 } 6213 } 6214 ], 6215 "params": { 6216 "Region": "us-west-2", 6217 "UseFIPS": false, 6218 "UseDualStack": false, 6219 "Accelerate": false, 6220 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports" 6221 } 6222 }, 6223 { 6224 "documentation": "S3 outposts custom endpoint", 6225 "expect": { 6226 "endpoint": { 6227 "properties": { 6228 "authSchemes": [ 6229 { 6230 "name": "sigv4", 6231 "signingName": "s3-outposts", 6232 "signingRegion": "us-west-2", 6233 "disableDoubleEncoding": true 6234 } 6235 ] 6236 }, 6237 "url": "https://reports-123456789012.op-01234567890123456.example.amazonaws.com" 6238 } 6239 }, 6240 "operationInputs": [ 6241 { 6242 "builtInParams": { 6243 "AWS::Region": "us-west-2", 6244 "SDK::Endpoint": "https://example.amazonaws.com" 6245 }, 6246 "operationName": "GetObject", 6247 "operationParams": { 6248 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports", 6249 "Key": "key" 6250 } 6251 } 6252 ], 6253 "params": { 6254 "Region": "us-west-2", 6255 "UseFIPS": false, 6256 "UseDualStack": false, 6257 "Accelerate": false, 6258 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports", 6259 "Endpoint": "https://example.amazonaws.com" 6260 } 6261 }, 6262 { 6263 "documentation": "outposts arn with region mismatch and UseArnRegion=false", 6264 "expect": { 6265 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`" 6266 }, 6267 "operationInputs": [ 6268 { 6269 "builtInParams": { 6270 "AWS::Region": "us-west-2", 6271 "AWS::S3::UseArnRegion": false 6272 }, 6273 "operationName": "GetObject", 6274 "operationParams": { 6275 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6276 "Key": "key" 6277 } 6278 } 6279 ], 6280 "params": { 6281 "Accelerate": false, 6282 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6283 "ForcePathStyle": false, 6284 "UseArnRegion": false, 6285 "Region": "us-west-2", 6286 "UseDualStack": false, 6287 "UseFIPS": false 6288 } 6289 }, 6290 { 6291 "documentation": "outposts arn with region mismatch, custom region and UseArnRegion=false", 6292 "expect": { 6293 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`" 6294 }, 6295 "operationInputs": [ 6296 { 6297 "builtInParams": { 6298 "AWS::Region": "us-west-2", 6299 "SDK::Endpoint": "https://example.com", 6300 "AWS::S3::UseArnRegion": false 6301 }, 6302 "operationName": "GetObject", 6303 "operationParams": { 6304 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6305 "Key": "key" 6306 } 6307 } 6308 ], 6309 "params": { 6310 "Accelerate": false, 6311 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6312 "Endpoint": "https://example.com", 6313 "ForcePathStyle": false, 6314 "UseArnRegion": false, 6315 "Region": "us-west-2", 6316 "UseDualStack": false, 6317 "UseFIPS": false 6318 } 6319 }, 6320 { 6321 "documentation": "outposts arn with region mismatch and UseArnRegion=true", 6322 "expect": { 6323 "endpoint": { 6324 "properties": { 6325 "authSchemes": [ 6326 { 6327 "name": "sigv4", 6328 "signingName": "s3-outposts", 6329 "signingRegion": "us-east-1", 6330 "disableDoubleEncoding": true 6331 } 6332 ] 6333 }, 6334 "url": "https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com" 6335 } 6336 }, 6337 "operationInputs": [ 6338 { 6339 "builtInParams": { 6340 "AWS::Region": "us-west-2", 6341 "AWS::S3::UseArnRegion": true 6342 }, 6343 "operationName": "GetObject", 6344 "operationParams": { 6345 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6346 "Key": "key" 6347 } 6348 } 6349 ], 6350 "params": { 6351 "Accelerate": false, 6352 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6353 "ForcePathStyle": false, 6354 "UseArnRegion": true, 6355 "Region": "us-west-2", 6356 "UseDualStack": false, 6357 "UseFIPS": false 6358 } 6359 }, 6360 { 6361 "documentation": "outposts arn with region mismatch and UseArnRegion unset", 6362 "expect": { 6363 "endpoint": { 6364 "properties": { 6365 "authSchemes": [ 6366 { 6367 "name": "sigv4", 6368 "signingName": "s3-outposts", 6369 "signingRegion": "us-east-1", 6370 "disableDoubleEncoding": true 6371 } 6372 ] 6373 }, 6374 "url": "https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com" 6375 } 6376 }, 6377 "operationInputs": [ 6378 { 6379 "builtInParams": { 6380 "AWS::Region": "us-west-2" 6381 }, 6382 "operationName": "GetObject", 6383 "operationParams": { 6384 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6385 "Key": "key" 6386 } 6387 } 6388 ], 6389 "params": { 6390 "Accelerate": false, 6391 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6392 "ForcePathStyle": false, 6393 "Region": "us-west-2", 6394 "UseDualStack": false, 6395 "UseFIPS": false 6396 } 6397 }, 6398 { 6399 "documentation": "outposts arn with partition mismatch and UseArnRegion=true", 6400 "expect": { 6401 "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`" 6402 }, 6403 "operationInputs": [ 6404 { 6405 "builtInParams": { 6406 "AWS::Region": "us-west-2", 6407 "AWS::S3::UseArnRegion": true 6408 }, 6409 "operationName": "GetObject", 6410 "operationParams": { 6411 "Bucket": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6412 "Key": "key" 6413 } 6414 } 6415 ], 6416 "params": { 6417 "Accelerate": false, 6418 "Bucket": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 6419 "ForcePathStyle": false, 6420 "UseArnRegion": true, 6421 "Region": "us-west-2", 6422 "UseDualStack": false, 6423 "UseFIPS": false 6424 } 6425 }, 6426 { 6427 "documentation": "ARN with UseGlobalEndpoint and use-east-1 region uses the regional endpoint", 6428 "expect": { 6429 "endpoint": { 6430 "properties": { 6431 "authSchemes": [ 6432 { 6433 "name": "sigv4", 6434 "signingName": "s3-outposts", 6435 "signingRegion": "us-east-1", 6436 "disableDoubleEncoding": true 6437 } 6438 ] 6439 }, 6440 "url": "https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com" 6441 } 6442 }, 6443 "operationInputs": [ 6444 { 6445 "builtInParams": { 6446 "AWS::Region": "us-east-1", 6447 "AWS::S3::UseGlobalEndpoint": true 6448 }, 6449 "operationName": "GetObject", 6450 "operationParams": { 6451 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports", 6452 "Key": "key" 6453 } 6454 } 6455 ], 6456 "params": { 6457 "Region": "us-east-1", 6458 "UseGlobalEndpoint": true, 6459 "UseFIPS": false, 6460 "UseDualStack": false, 6461 "Accelerate": false, 6462 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports" 6463 } 6464 }, 6465 { 6466 "documentation": "S3 outposts does not support dualstack", 6467 "expect": { 6468 "error": "S3 Outposts does not support Dual-stack" 6469 }, 6470 "params": { 6471 "Region": "us-east-1", 6472 "UseFIPS": false, 6473 "UseDualStack": true, 6474 "Accelerate": false, 6475 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports" 6476 } 6477 }, 6478 { 6479 "documentation": "S3 outposts does not support fips", 6480 "expect": { 6481 "error": "S3 Outposts does not support FIPS" 6482 }, 6483 "params": { 6484 "Region": "us-east-1", 6485 "UseFIPS": true, 6486 "UseDualStack": false, 6487 "Accelerate": false, 6488 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports" 6489 } 6490 }, 6491 { 6492 "documentation": "S3 outposts does not support accelerate", 6493 "expect": { 6494 "error": "S3 Outposts does not support S3 Accelerate" 6495 }, 6496 "params": { 6497 "Region": "us-east-1", 6498 "UseFIPS": false, 6499 "UseDualStack": false, 6500 "Accelerate": true, 6501 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports" 6502 } 6503 }, 6504 { 6505 "documentation": "validates against subresource", 6506 "expect": { 6507 "error": "Invalid Arn: Outpost Access Point ARN contains sub resources" 6508 }, 6509 "params": { 6510 "Region": "us-west-2", 6511 "UseFIPS": false, 6512 "UseDualStack": false, 6513 "Accelerate": false, 6514 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:mybucket:object:foo" 6515 } 6516 }, 6517 { 6518 "documentation": "object lambda @us-east-1", 6519 "expect": { 6520 "endpoint": { 6521 "properties": { 6522 "authSchemes": [ 6523 { 6524 "name": "sigv4", 6525 "signingName": "s3-object-lambda", 6526 "signingRegion": "us-east-1", 6527 "disableDoubleEncoding": true 6528 } 6529 ] 6530 }, 6531 "url": "https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com" 6532 } 6533 }, 6534 "operationInputs": [ 6535 { 6536 "builtInParams": { 6537 "AWS::Region": "us-east-1", 6538 "AWS::S3::UseArnRegion": false 6539 }, 6540 "operationName": "GetObject", 6541 "operationParams": { 6542 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 6543 "Key": "key" 6544 } 6545 } 6546 ], 6547 "params": { 6548 "Region": "us-east-1", 6549 "UseFIPS": false, 6550 "UseDualStack": false, 6551 "Accelerate": false, 6552 "UseArnRegion": false, 6553 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner" 6554 } 6555 }, 6556 { 6557 "documentation": "object lambda @us-west-2", 6558 "expect": { 6559 "endpoint": { 6560 "properties": { 6561 "authSchemes": [ 6562 { 6563 "name": "sigv4", 6564 "signingName": "s3-object-lambda", 6565 "signingRegion": "us-west-2", 6566 "disableDoubleEncoding": true 6567 } 6568 ] 6569 }, 6570 "url": "https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com" 6571 } 6572 }, 6573 "operationInputs": [ 6574 { 6575 "builtInParams": { 6576 "AWS::Region": "us-west-2", 6577 "AWS::S3::UseArnRegion": false 6578 }, 6579 "operationName": "GetObject", 6580 "operationParams": { 6581 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner", 6582 "Key": "key" 6583 } 6584 } 6585 ], 6586 "params": { 6587 "Region": "us-west-2", 6588 "UseFIPS": false, 6589 "UseDualStack": false, 6590 "Accelerate": false, 6591 "UseArnRegion": false, 6592 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner" 6593 } 6594 }, 6595 { 6596 "documentation": "object lambda, colon resource deliminator @us-west-2", 6597 "expect": { 6598 "endpoint": { 6599 "properties": { 6600 "authSchemes": [ 6601 { 6602 "name": "sigv4", 6603 "signingName": "s3-object-lambda", 6604 "signingRegion": "us-west-2", 6605 "disableDoubleEncoding": true 6606 } 6607 ] 6608 }, 6609 "url": "https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com" 6610 } 6611 }, 6612 "operationInputs": [ 6613 { 6614 "builtInParams": { 6615 "AWS::Region": "us-west-2", 6616 "AWS::S3::UseArnRegion": false 6617 }, 6618 "operationName": "GetObject", 6619 "operationParams": { 6620 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner", 6621 "Key": "key" 6622 } 6623 } 6624 ], 6625 "params": { 6626 "Region": "us-west-2", 6627 "UseFIPS": false, 6628 "UseDualStack": false, 6629 "Accelerate": false, 6630 "UseArnRegion": false, 6631 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner" 6632 } 6633 }, 6634 { 6635 "documentation": "object lambda @us-east-1, client region us-west-2, useArnRegion=true", 6636 "expect": { 6637 "endpoint": { 6638 "properties": { 6639 "authSchemes": [ 6640 { 6641 "name": "sigv4", 6642 "signingName": "s3-object-lambda", 6643 "signingRegion": "us-east-1", 6644 "disableDoubleEncoding": true 6645 } 6646 ] 6647 }, 6648 "url": "https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com" 6649 } 6650 }, 6651 "operationInputs": [ 6652 { 6653 "builtInParams": { 6654 "AWS::Region": "us-west-2", 6655 "AWS::S3::UseArnRegion": true 6656 }, 6657 "operationName": "GetObject", 6658 "operationParams": { 6659 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 6660 "Key": "key" 6661 } 6662 } 6663 ], 6664 "params": { 6665 "Region": "us-west-2", 6666 "UseFIPS": false, 6667 "UseDualStack": false, 6668 "Accelerate": false, 6669 "UseArnRegion": true, 6670 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner" 6671 } 6672 }, 6673 { 6674 "documentation": "object lambda @us-east-1, client region s3-external-1, useArnRegion=true", 6675 "expect": { 6676 "endpoint": { 6677 "properties": { 6678 "authSchemes": [ 6679 { 6680 "name": "sigv4", 6681 "signingName": "s3-object-lambda", 6682 "signingRegion": "us-east-1", 6683 "disableDoubleEncoding": true 6684 } 6685 ] 6686 }, 6687 "url": "https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com" 6688 } 6689 }, 6690 "operationInputs": [ 6691 { 6692 "builtInParams": { 6693 "AWS::Region": "s3-external-1", 6694 "AWS::S3::UseArnRegion": true 6695 }, 6696 "operationName": "GetObject", 6697 "operationParams": { 6698 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 6699 "Key": "key" 6700 } 6701 } 6702 ], 6703 "params": { 6704 "Region": "s3-external-1", 6705 "UseFIPS": false, 6706 "UseDualStack": false, 6707 "Accelerate": false, 6708 "UseArnRegion": true, 6709 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner" 6710 } 6711 }, 6712 { 6713 "documentation": "object lambda @us-east-1, client region s3-external-1, useArnRegion=false", 6714 "expect": { 6715 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`" 6716 }, 6717 "operationInputs": [ 6718 { 6719 "builtInParams": { 6720 "AWS::Region": "s3-external-1", 6721 "AWS::S3::UseArnRegion": false 6722 }, 6723 "operationName": "GetObject", 6724 "operationParams": { 6725 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 6726 "Key": "key" 6727 } 6728 } 6729 ], 6730 "params": { 6731 "Region": "s3-external-1", 6732 "UseFIPS": false, 6733 "UseDualStack": false, 6734 "Accelerate": false, 6735 "UseArnRegion": false, 6736 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner" 6737 } 6738 }, 6739 { 6740 "documentation": "object lambda @us-east-1, client region aws-global, useArnRegion=true", 6741 "expect": { 6742 "endpoint": { 6743 "properties": { 6744 "authSchemes": [ 6745 { 6746 "name": "sigv4", 6747 "signingName": "s3-object-lambda", 6748 "signingRegion": "us-east-1", 6749 "disableDoubleEncoding": true 6750 } 6751 ] 6752 }, 6753 "url": "https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com" 6754 } 6755 }, 6756 "operationInputs": [ 6757 { 6758 "builtInParams": { 6759 "AWS::Region": "aws-global", 6760 "AWS::S3::UseArnRegion": true 6761 }, 6762 "operationName": "GetObject", 6763 "operationParams": { 6764 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 6765 "Key": "key" 6766 } 6767 } 6768 ], 6769 "params": { 6770 "Region": "aws-global", 6771 "UseFIPS": false, 6772 "UseDualStack": false, 6773 "Accelerate": false, 6774 "UseArnRegion": true, 6775 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner" 6776 } 6777 }, 6778 { 6779 "documentation": "object lambda @us-east-1, client region aws-global, useArnRegion=false", 6780 "expect": { 6781 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `aws-global` and UseArnRegion is `false`" 6782 }, 6783 "operationInputs": [ 6784 { 6785 "builtInParams": { 6786 "AWS::Region": "aws-global", 6787 "AWS::S3::UseArnRegion": false 6788 }, 6789 "operationName": "GetObject", 6790 "operationParams": { 6791 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 6792 "Key": "key" 6793 } 6794 } 6795 ], 6796 "params": { 6797 "Region": "aws-global", 6798 "UseFIPS": false, 6799 "UseDualStack": false, 6800 "Accelerate": false, 6801 "UseArnRegion": false, 6802 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner" 6803 } 6804 }, 6805 { 6806 "documentation": "object lambda @cn-north-1, client region us-west-2 (cross partition), useArnRegion=true", 6807 "expect": { 6808 "error": "Client was configured for partition `aws` but ARN (`arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner`) has `aws-cn`" 6809 }, 6810 "operationInputs": [ 6811 { 6812 "builtInParams": { 6813 "AWS::Region": "aws-global", 6814 "AWS::S3::UseArnRegion": true 6815 }, 6816 "operationName": "GetObject", 6817 "operationParams": { 6818 "Bucket": "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner", 6819 "Key": "key" 6820 } 6821 } 6822 ], 6823 "params": { 6824 "Region": "aws-global", 6825 "UseFIPS": false, 6826 "UseDualStack": false, 6827 "Accelerate": false, 6828 "UseArnRegion": true, 6829 "Bucket": "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner" 6830 } 6831 }, 6832 { 6833 "documentation": "object lambda with dualstack", 6834 "expect": { 6835 "error": "S3 Object Lambda does not support Dual-stack" 6836 }, 6837 "operationInputs": [ 6838 { 6839 "builtInParams": { 6840 "AWS::Region": "us-west-2", 6841 "AWS::UseDualStack": true, 6842 "AWS::S3::UseArnRegion": false 6843 }, 6844 "operationName": "GetObject", 6845 "operationParams": { 6846 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner", 6847 "Key": "key" 6848 } 6849 } 6850 ], 6851 "params": { 6852 "Region": "us-west-2", 6853 "UseFIPS": false, 6854 "UseDualStack": true, 6855 "Accelerate": false, 6856 "UseArnRegion": false, 6857 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner" 6858 } 6859 }, 6860 { 6861 "documentation": "object lambda @us-gov-east-1", 6862 "expect": { 6863 "endpoint": { 6864 "properties": { 6865 "authSchemes": [ 6866 { 6867 "name": "sigv4", 6868 "signingName": "s3-object-lambda", 6869 "signingRegion": "us-gov-east-1", 6870 "disableDoubleEncoding": true 6871 } 6872 ] 6873 }, 6874 "url": "https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com" 6875 } 6876 }, 6877 "params": { 6878 "Region": "us-gov-east-1", 6879 "UseFIPS": false, 6880 "UseDualStack": false, 6881 "Accelerate": false, 6882 "UseArnRegion": false, 6883 "Bucket": "arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner" 6884 } 6885 }, 6886 { 6887 "documentation": "object lambda @us-gov-east-1, with fips", 6888 "expect": { 6889 "endpoint": { 6890 "properties": { 6891 "authSchemes": [ 6892 { 6893 "name": "sigv4", 6894 "signingName": "s3-object-lambda", 6895 "signingRegion": "us-gov-east-1", 6896 "disableDoubleEncoding": true 6897 } 6898 ] 6899 }, 6900 "url": "https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com" 6901 } 6902 }, 6903 "params": { 6904 "Region": "us-gov-east-1", 6905 "UseFIPS": true, 6906 "UseDualStack": false, 6907 "Accelerate": false, 6908 "UseArnRegion": false, 6909 "Bucket": "arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner" 6910 } 6911 }, 6912 { 6913 "documentation": "object lambda @cn-north-1, with fips", 6914 "expect": { 6915 "error": "Partition does not support FIPS" 6916 }, 6917 "params": { 6918 "Region": "cn-north-1", 6919 "UseFIPS": true, 6920 "UseDualStack": false, 6921 "Accelerate": false, 6922 "UseArnRegion": false, 6923 "Bucket": "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner" 6924 } 6925 }, 6926 { 6927 "documentation": "object lambda with accelerate", 6928 "expect": { 6929 "error": "S3 Object Lambda does not support S3 Accelerate" 6930 }, 6931 "operationInputs": [ 6932 { 6933 "builtInParams": { 6934 "AWS::Region": "us-west-2", 6935 "AWS::S3::Accelerate": true, 6936 "AWS::S3::UseArnRegion": false 6937 }, 6938 "operationName": "GetObject", 6939 "operationParams": { 6940 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner", 6941 "Key": "key" 6942 } 6943 } 6944 ], 6945 "params": { 6946 "Region": "us-west-2", 6947 "UseFIPS": false, 6948 "UseDualStack": false, 6949 "Accelerate": true, 6950 "UseArnRegion": false, 6951 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner" 6952 } 6953 }, 6954 { 6955 "documentation": "object lambda with invalid arn - bad service and someresource", 6956 "expect": { 6957 "error": "Invalid ARN: Unrecognized format: arn:aws:sqs:us-west-2:123456789012:someresource (type: someresource)" 6958 }, 6959 "operationInputs": [ 6960 { 6961 "builtInParams": { 6962 "AWS::Region": "us-west-2", 6963 "AWS::S3::UseArnRegion": false 6964 }, 6965 "operationName": "GetObject", 6966 "operationParams": { 6967 "Bucket": "arn:aws:sqs:us-west-2:123456789012:someresource", 6968 "Key": "key" 6969 } 6970 } 6971 ], 6972 "params": { 6973 "Region": "us-west-2", 6974 "UseFIPS": false, 6975 "UseDualStack": false, 6976 "Accelerate": false, 6977 "UseArnRegion": false, 6978 "Bucket": "arn:aws:sqs:us-west-2:123456789012:someresource" 6979 } 6980 }, 6981 { 6982 "documentation": "object lambda with invalid arn - invalid resource", 6983 "expect": { 6984 "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `bucket_name`" 6985 }, 6986 "params": { 6987 "Region": "us-west-2", 6988 "UseFIPS": false, 6989 "UseDualStack": false, 6990 "Accelerate": false, 6991 "UseArnRegion": false, 6992 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:bucket_name:mybucket" 6993 } 6994 }, 6995 { 6996 "documentation": "object lambda with invalid arn - missing region", 6997 "expect": { 6998 "error": "Invalid ARN: bucket ARN is missing a region" 6999 }, 7000 "params": { 7001 "Region": "us-west-2", 7002 "UseFIPS": false, 7003 "UseDualStack": false, 7004 "Accelerate": false, 7005 "UseArnRegion": false, 7006 "Bucket": "arn:aws:s3-object-lambda::123456789012:accesspoint/mybanner" 7007 } 7008 }, 7009 { 7010 "documentation": "object lambda with invalid arn - missing account-id", 7011 "expect": { 7012 "error": "Invalid ARN: Missing account id" 7013 }, 7014 "params": { 7015 "Region": "us-west-2", 7016 "UseFIPS": false, 7017 "UseDualStack": false, 7018 "Accelerate": false, 7019 "UseArnRegion": true, 7020 "Bucket": "arn:aws:s3-object-lambda:us-west-2::accesspoint/mybanner" 7021 } 7022 }, 7023 { 7024 "documentation": "object lambda with invalid arn - account id contains invalid characters", 7025 "expect": { 7026 "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123.45678.9012`" 7027 }, 7028 "operationInputs": [ 7029 { 7030 "builtInParams": { 7031 "AWS::Region": "us-west-2", 7032 "AWS::S3::UseArnRegion": true 7033 }, 7034 "operationName": "GetObject", 7035 "operationParams": { 7036 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123.45678.9012:accesspoint:mybucket", 7037 "Key": "key" 7038 } 7039 } 7040 ], 7041 "params": { 7042 "Region": "us-west-2", 7043 "UseFIPS": false, 7044 "UseDualStack": false, 7045 "Accelerate": false, 7046 "UseArnRegion": true, 7047 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123.45678.9012:accesspoint:mybucket" 7048 } 7049 }, 7050 { 7051 "documentation": "object lambda with invalid arn - missing access point name", 7052 "expect": { 7053 "error": "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided" 7054 }, 7055 "params": { 7056 "Region": "us-west-2", 7057 "UseFIPS": false, 7058 "UseDualStack": false, 7059 "Accelerate": false, 7060 "UseArnRegion": true, 7061 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint" 7062 } 7063 }, 7064 { 7065 "documentation": "object lambda with invalid arn - access point name contains invalid character: *", 7066 "expect": { 7067 "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `*`" 7068 }, 7069 "params": { 7070 "Region": "us-west-2", 7071 "UseFIPS": false, 7072 "UseDualStack": false, 7073 "Accelerate": false, 7074 "UseArnRegion": true, 7075 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:*" 7076 } 7077 }, 7078 { 7079 "documentation": "object lambda with invalid arn - access point name contains invalid character: .", 7080 "expect": { 7081 "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `my.bucket`" 7082 }, 7083 "params": { 7084 "Region": "us-west-2", 7085 "UseFIPS": false, 7086 "UseDualStack": false, 7087 "Accelerate": false, 7088 "UseArnRegion": true, 7089 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:my.bucket" 7090 } 7091 }, 7092 { 7093 "documentation": "object lambda with invalid arn - access point name contains sub resources", 7094 "expect": { 7095 "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`." 7096 }, 7097 "params": { 7098 "Region": "us-west-2", 7099 "UseFIPS": false, 7100 "UseDualStack": false, 7101 "Accelerate": false, 7102 "UseArnRegion": true, 7103 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybucket:object:foo" 7104 } 7105 }, 7106 { 7107 "documentation": "object lambda with custom endpoint", 7108 "expect": { 7109 "endpoint": { 7110 "properties": { 7111 "authSchemes": [ 7112 { 7113 "name": "sigv4", 7114 "signingName": "s3-object-lambda", 7115 "signingRegion": "us-west-2", 7116 "disableDoubleEncoding": true 7117 } 7118 ] 7119 }, 7120 "url": "https://mybanner-123456789012.my-endpoint.com" 7121 } 7122 }, 7123 "operationInputs": [ 7124 { 7125 "builtInParams": { 7126 "AWS::Region": "us-west-2", 7127 "SDK::Endpoint": "https://my-endpoint.com", 7128 "AWS::S3::UseArnRegion": false 7129 }, 7130 "operationName": "GetObject", 7131 "operationParams": { 7132 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner", 7133 "Key": "key" 7134 } 7135 } 7136 ], 7137 "params": { 7138 "Region": "us-west-2", 7139 "UseFIPS": false, 7140 "UseDualStack": false, 7141 "Accelerate": false, 7142 "UseArnRegion": false, 7143 "Bucket": "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner", 7144 "Endpoint": "https://my-endpoint.com" 7145 } 7146 }, 7147 { 7148 "documentation": "object lambda arn with region mismatch and UseArnRegion=false", 7149 "expect": { 7150 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`" 7151 }, 7152 "operationInputs": [ 7153 { 7154 "builtInParams": { 7155 "AWS::Region": "us-west-2", 7156 "AWS::S3::UseArnRegion": false 7157 }, 7158 "operationName": "GetObject", 7159 "operationParams": { 7160 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 7161 "Key": "key" 7162 } 7163 } 7164 ], 7165 "params": { 7166 "Accelerate": false, 7167 "Bucket": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner", 7168 "ForcePathStyle": false, 7169 "UseArnRegion": false, 7170 "Region": "us-west-2", 7171 "UseDualStack": false, 7172 "UseFIPS": false 7173 } 7174 }, 7175 { 7176 "documentation": "WriteGetObjectResponse @ us-west-2", 7177 "expect": { 7178 "endpoint": { 7179 "properties": { 7180 "authSchemes": [ 7181 { 7182 "name": "sigv4", 7183 "signingName": "s3-object-lambda", 7184 "signingRegion": "us-west-2", 7185 "disableDoubleEncoding": true 7186 } 7187 ] 7188 }, 7189 "url": "https://s3-object-lambda.us-west-2.amazonaws.com" 7190 } 7191 }, 7192 "operationInputs": [ 7193 { 7194 "builtInParams": { 7195 "AWS::Region": "us-west-2" 7196 }, 7197 "operationName": "WriteGetObjectResponse", 7198 "operationParams": { 7199 "RequestRoute": "RequestRoute", 7200 "RequestToken": "RequestToken" 7201 } 7202 } 7203 ], 7204 "params": { 7205 "Accelerate": false, 7206 "UseObjectLambdaEndpoint": true, 7207 "Region": "us-west-2", 7208 "UseDualStack": false, 7209 "UseFIPS": false 7210 } 7211 }, 7212 { 7213 "documentation": "WriteGetObjectResponse with custom endpoint", 7214 "expect": { 7215 "endpoint": { 7216 "properties": { 7217 "authSchemes": [ 7218 { 7219 "name": "sigv4", 7220 "signingName": "s3-object-lambda", 7221 "signingRegion": "us-west-2", 7222 "disableDoubleEncoding": true 7223 } 7224 ] 7225 }, 7226 "url": "https://my-endpoint.com" 7227 } 7228 }, 7229 "operationInputs": [ 7230 { 7231 "builtInParams": { 7232 "AWS::Region": "us-west-2", 7233 "SDK::Endpoint": "https://my-endpoint.com" 7234 }, 7235 "operationName": "WriteGetObjectResponse", 7236 "operationParams": { 7237 "RequestRoute": "RequestRoute", 7238 "RequestToken": "RequestToken" 7239 } 7240 } 7241 ], 7242 "params": { 7243 "Accelerate": false, 7244 "UseObjectLambdaEndpoint": true, 7245 "Endpoint": "https://my-endpoint.com", 7246 "Region": "us-west-2", 7247 "UseDualStack": false, 7248 "UseFIPS": false 7249 } 7250 }, 7251 { 7252 "documentation": "WriteGetObjectResponse @ us-east-1", 7253 "expect": { 7254 "endpoint": { 7255 "properties": { 7256 "authSchemes": [ 7257 { 7258 "name": "sigv4", 7259 "signingName": "s3-object-lambda", 7260 "signingRegion": "us-east-1", 7261 "disableDoubleEncoding": true 7262 } 7263 ] 7264 }, 7265 "url": "https://s3-object-lambda.us-east-1.amazonaws.com" 7266 } 7267 }, 7268 "operationInputs": [ 7269 { 7270 "builtInParams": { 7271 "AWS::Region": "us-east-1" 7272 }, 7273 "operationName": "WriteGetObjectResponse", 7274 "operationParams": { 7275 "RequestRoute": "RequestRoute", 7276 "RequestToken": "RequestToken" 7277 } 7278 } 7279 ], 7280 "params": { 7281 "Accelerate": false, 7282 "UseObjectLambdaEndpoint": true, 7283 "Region": "us-east-1", 7284 "UseDualStack": false, 7285 "UseFIPS": false 7286 } 7287 }, 7288 { 7289 "documentation": "WriteGetObjectResponse with fips", 7290 "expect": { 7291 "endpoint": { 7292 "properties": { 7293 "authSchemes": [ 7294 { 7295 "name": "sigv4", 7296 "signingName": "s3-object-lambda", 7297 "signingRegion": "us-east-1", 7298 "disableDoubleEncoding": true 7299 } 7300 ] 7301 }, 7302 "url": "https://s3-object-lambda-fips.us-east-1.amazonaws.com" 7303 } 7304 }, 7305 "operationInputs": [ 7306 { 7307 "builtInParams": { 7308 "AWS::Region": "us-east-1", 7309 "AWS::UseFIPS": true 7310 }, 7311 "operationName": "WriteGetObjectResponse", 7312 "operationParams": { 7313 "RequestRoute": "RequestRoute", 7314 "RequestToken": "RequestToken" 7315 } 7316 } 7317 ], 7318 "params": { 7319 "Accelerate": false, 7320 "UseObjectLambdaEndpoint": true, 7321 "Region": "us-east-1", 7322 "UseDualStack": false, 7323 "UseFIPS": true 7324 } 7325 }, 7326 { 7327 "documentation": "WriteGetObjectResponse with dualstack", 7328 "expect": { 7329 "error": "S3 Object Lambda does not support Dual-stack" 7330 }, 7331 "operationInputs": [ 7332 { 7333 "builtInParams": { 7334 "AWS::Region": "us-east-1", 7335 "AWS::UseDualStack": true 7336 }, 7337 "operationName": "WriteGetObjectResponse", 7338 "operationParams": { 7339 "RequestRoute": "RequestRoute", 7340 "RequestToken": "RequestToken" 7341 } 7342 } 7343 ], 7344 "params": { 7345 "Accelerate": false, 7346 "UseObjectLambdaEndpoint": true, 7347 "Region": "us-east-1", 7348 "UseDualStack": true, 7349 "UseFIPS": false 7350 } 7351 }, 7352 { 7353 "documentation": "WriteGetObjectResponse with accelerate", 7354 "expect": { 7355 "error": "S3 Object Lambda does not support S3 Accelerate" 7356 }, 7357 "params": { 7358 "Accelerate": true, 7359 "UseObjectLambdaEndpoint": true, 7360 "Region": "us-east-1", 7361 "UseDualStack": false, 7362 "UseFIPS": false 7363 } 7364 }, 7365 { 7366 "documentation": "WriteGetObjectResponse with fips in CN", 7367 "expect": { 7368 "error": "Partition does not support FIPS" 7369 }, 7370 "params": { 7371 "Accelerate": false, 7372 "Region": "cn-north-1", 7373 "UseObjectLambdaEndpoint": true, 7374 "UseDualStack": false, 7375 "UseFIPS": true 7376 } 7377 }, 7378 { 7379 "documentation": "WriteGetObjectResponse with invalid partition", 7380 "expect": { 7381 "error": "Invalid region: region was not a valid DNS name." 7382 }, 7383 "params": { 7384 "Accelerate": false, 7385 "UseObjectLambdaEndpoint": true, 7386 "Region": "not a valid DNS name", 7387 "UseDualStack": false, 7388 "UseFIPS": false 7389 } 7390 }, 7391 { 7392 "documentation": "WriteGetObjectResponse with an unknown partition", 7393 "expect": { 7394 "endpoint": { 7395 "properties": { 7396 "authSchemes": [ 7397 { 7398 "name": "sigv4", 7399 "signingName": "s3-object-lambda", 7400 "disableDoubleEncoding": true, 7401 "signingRegion": "us-east.special" 7402 } 7403 ] 7404 }, 7405 "url": "https://s3-object-lambda.us-east.special.amazonaws.com" 7406 } 7407 }, 7408 "params": { 7409 "Accelerate": false, 7410 "UseObjectLambdaEndpoint": true, 7411 "Region": "us-east.special", 7412 "UseDualStack": false, 7413 "UseFIPS": false 7414 } 7415 }, 7416 { 7417 "documentation": "S3 Outposts bucketAlias Real Outpost Prod us-west-1", 7418 "expect": { 7419 "endpoint": { 7420 "properties": { 7421 "authSchemes": [ 7422 { 7423 "name": "sigv4", 7424 "signingName": "s3-outposts", 7425 "signingRegion": "us-west-1", 7426 "disableDoubleEncoding": true 7427 } 7428 ] 7429 }, 7430 "url": "https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com" 7431 } 7432 }, 7433 "params": { 7434 "Region": "us-west-1", 7435 "Bucket": "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3", 7436 "UseFIPS": false, 7437 "UseDualStack": false, 7438 "Accelerate": false 7439 } 7440 }, 7441 { 7442 "documentation": "S3 Outposts bucketAlias Real Outpost Prod ap-east-1", 7443 "expect": { 7444 "endpoint": { 7445 "properties": { 7446 "authSchemes": [ 7447 { 7448 "name": "sigv4", 7449 "signingName": "s3-outposts", 7450 "signingRegion": "ap-east-1", 7451 "disableDoubleEncoding": true 7452 } 7453 ] 7454 }, 7455 "url": "https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.ap-east-1.amazonaws.com" 7456 } 7457 }, 7458 "params": { 7459 "Region": "ap-east-1", 7460 "Bucket": "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3", 7461 "UseFIPS": false, 7462 "UseDualStack": false, 7463 "Accelerate": false 7464 } 7465 }, 7466 { 7467 "documentation": "S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1", 7468 "expect": { 7469 "endpoint": { 7470 "properties": { 7471 "authSchemes": [ 7472 { 7473 "name": "sigv4", 7474 "signingName": "s3-outposts", 7475 "signingRegion": "us-east-1", 7476 "disableDoubleEncoding": true 7477 } 7478 ] 7479 }, 7480 "url": "https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com" 7481 } 7482 }, 7483 "params": { 7484 "Region": "us-east-1", 7485 "Bucket": "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3", 7486 "UseFIPS": false, 7487 "UseDualStack": false, 7488 "Accelerate": false 7489 } 7490 }, 7491 { 7492 "documentation": "S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1", 7493 "expect": { 7494 "endpoint": { 7495 "properties": { 7496 "authSchemes": [ 7497 { 7498 "name": "sigv4", 7499 "signingName": "s3-outposts", 7500 "signingRegion": "me-south-1", 7501 "disableDoubleEncoding": true 7502 } 7503 ] 7504 }, 7505 "url": "https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com" 7506 } 7507 }, 7508 "params": { 7509 "Region": "me-south-1", 7510 "Bucket": "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3", 7511 "UseFIPS": false, 7512 "UseDualStack": false, 7513 "Accelerate": false 7514 } 7515 }, 7516 { 7517 "documentation": "S3 Outposts bucketAlias Real Outpost Beta", 7518 "expect": { 7519 "endpoint": { 7520 "properties": { 7521 "authSchemes": [ 7522 { 7523 "name": "sigv4", 7524 "signingName": "s3-outposts", 7525 "signingRegion": "us-east-1", 7526 "disableDoubleEncoding": true 7527 } 7528 ] 7529 }, 7530 "url": "https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com" 7531 } 7532 }, 7533 "params": { 7534 "Region": "us-east-1", 7535 "Bucket": "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3", 7536 "Endpoint": "https://example.amazonaws.com", 7537 "UseFIPS": false, 7538 "UseDualStack": false, 7539 "Accelerate": false 7540 } 7541 }, 7542 { 7543 "documentation": "S3 Outposts bucketAlias Ec2 Outpost Beta", 7544 "expect": { 7545 "endpoint": { 7546 "properties": { 7547 "authSchemes": [ 7548 { 7549 "name": "sigv4", 7550 "signingName": "s3-outposts", 7551 "signingRegion": "us-east-1", 7552 "disableDoubleEncoding": true 7553 } 7554 ] 7555 }, 7556 "url": "https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com" 7557 } 7558 }, 7559 "params": { 7560 "Region": "us-east-1", 7561 "Bucket": "161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3", 7562 "Endpoint": "https://example.amazonaws.com", 7563 "UseFIPS": false, 7564 "UseDualStack": false, 7565 "Accelerate": false 7566 } 7567 }, 7568 { 7569 "documentation": "S3 Outposts bucketAlias - No endpoint set for beta", 7570 "expect": { 7571 "error": "Expected a endpoint to be specified but no endpoint was found" 7572 }, 7573 "params": { 7574 "Region": "us-east-1", 7575 "Bucket": "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3", 7576 "UseFIPS": false, 7577 "UseDualStack": false, 7578 "Accelerate": false 7579 } 7580 }, 7581 { 7582 "documentation": "S3 Outposts bucketAlias Invalid hardware type", 7583 "expect": { 7584 "error": "Unrecognized hardware type: \"Expected hardware type o or e but got h\"" 7585 }, 7586 "params": { 7587 "Region": "us-east-1", 7588 "Bucket": "test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3", 7589 "UseFIPS": false, 7590 "UseDualStack": false, 7591 "Accelerate": false 7592 } 7593 }, 7594 { 7595 "documentation": "S3 Outposts bucketAlias Special character in Outpost Arn", 7596 "expect": { 7597 "error": "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`." 7598 }, 7599 "params": { 7600 "Region": "us-east-1", 7601 "Bucket": "test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3", 7602 "UseFIPS": false, 7603 "UseDualStack": false, 7604 "Accelerate": false 7605 } 7606 }, 7607 { 7608 "documentation": "S3 Outposts bucketAlias - No endpoint set for beta", 7609 "expect": { 7610 "error": "Expected a endpoint to be specified but no endpoint was found" 7611 }, 7612 "params": { 7613 "Region": "us-east-1", 7614 "Bucket": "test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3", 7615 "UseFIPS": false, 7616 "UseDualStack": false, 7617 "Accelerate": false 7618 } 7619 }, 7620 { 7621 "documentation": "S3 Snow with bucket", 7622 "expect": { 7623 "endpoint": { 7624 "properties": { 7625 "authSchemes": [ 7626 { 7627 "name": "sigv4", 7628 "signingName": "s3", 7629 "signingRegion": "snow", 7630 "disableDoubleEncoding": true 7631 } 7632 ] 7633 }, 7634 "url": "http://10.0.1.12:433/bucketName" 7635 } 7636 }, 7637 "params": { 7638 "Region": "snow", 7639 "Bucket": "bucketName", 7640 "Endpoint": "http://10.0.1.12:433", 7641 "UseFIPS": false, 7642 "UseDualStack": false, 7643 "Accelerate": false 7644 } 7645 }, 7646 { 7647 "documentation": "S3 Snow without bucket", 7648 "expect": { 7649 "endpoint": { 7650 "properties": { 7651 "authSchemes": [ 7652 { 7653 "name": "sigv4", 7654 "signingName": "s3", 7655 "signingRegion": "snow", 7656 "disableDoubleEncoding": true 7657 } 7658 ] 7659 }, 7660 "url": "https://10.0.1.12:433" 7661 } 7662 }, 7663 "params": { 7664 "Region": "snow", 7665 "Endpoint": "https://10.0.1.12:433", 7666 "UseFIPS": false, 7667 "UseDualStack": false, 7668 "Accelerate": false 7669 } 7670 }, 7671 { 7672 "documentation": "S3 Snow no port", 7673 "expect": { 7674 "endpoint": { 7675 "properties": { 7676 "authSchemes": [ 7677 { 7678 "name": "sigv4", 7679 "signingName": "s3", 7680 "signingRegion": "snow", 7681 "disableDoubleEncoding": true 7682 } 7683 ] 7684 }, 7685 "url": "http://10.0.1.12/bucketName" 7686 } 7687 }, 7688 "params": { 7689 "Region": "snow", 7690 "Bucket": "bucketName", 7691 "Endpoint": "http://10.0.1.12", 7692 "UseFIPS": false, 7693 "UseDualStack": false, 7694 "Accelerate": false 7695 } 7696 }, 7697 { 7698 "documentation": "S3 Snow dns endpoint", 7699 "expect": { 7700 "endpoint": { 7701 "properties": { 7702 "authSchemes": [ 7703 { 7704 "name": "sigv4", 7705 "signingName": "s3", 7706 "signingRegion": "snow", 7707 "disableDoubleEncoding": true 7708 } 7709 ] 7710 }, 7711 "url": "https://amazonaws.com/bucketName" 7712 } 7713 }, 7714 "params": { 7715 "Region": "snow", 7716 "Bucket": "bucketName", 7717 "Endpoint": "https://amazonaws.com", 7718 "UseFIPS": false, 7719 "UseDualStack": false, 7720 "Accelerate": false 7721 } 7722 }, 7723 { 7724 "documentation": "Data Plane with short AZ", 7725 "expect": { 7726 "endpoint": { 7727 "properties": { 7728 "authSchemes": [ 7729 { 7730 "name": "sigv4-s3express", 7731 "signingName": "s3express", 7732 "signingRegion": "us-east-1", 7733 "disableDoubleEncoding": true 7734 } 7735 ], 7736 "backend": "S3Express" 7737 }, 7738 "url": "https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com" 7739 } 7740 }, 7741 "operationInputs": [ 7742 { 7743 "builtInParams": { 7744 "AWS::Region": "us-east-1" 7745 }, 7746 "operationName": "GetObject", 7747 "operationParams": { 7748 "Bucket": "mybucket--use1-az1--x-s3", 7749 "Key": "key" 7750 } 7751 } 7752 ], 7753 "params": { 7754 "Region": "us-east-1", 7755 "Bucket": "mybucket--use1-az1--x-s3", 7756 "UseFIPS": false, 7757 "UseDualStack": false, 7758 "Accelerate": false, 7759 "UseS3ExpressControlEndpoint": false 7760 } 7761 }, 7762 { 7763 "documentation": "Data Plane with short AZ fips", 7764 "expect": { 7765 "endpoint": { 7766 "properties": { 7767 "authSchemes": [ 7768 { 7769 "name": "sigv4-s3express", 7770 "signingName": "s3express", 7771 "signingRegion": "us-east-1", 7772 "disableDoubleEncoding": true 7773 } 7774 ], 7775 "backend": "S3Express" 7776 }, 7777 "url": "https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com" 7778 } 7779 }, 7780 "operationInputs": [ 7781 { 7782 "builtInParams": { 7783 "AWS::Region": "us-east-1", 7784 "AWS::UseFIPS": true 7785 }, 7786 "operationName": "GetObject", 7787 "operationParams": { 7788 "Bucket": "mybucket--use1-az1--x-s3", 7789 "Key": "key" 7790 } 7791 } 7792 ], 7793 "params": { 7794 "Region": "us-east-1", 7795 "Bucket": "mybucket--use1-az1--x-s3", 7796 "UseFIPS": true, 7797 "UseDualStack": false, 7798 "Accelerate": false, 7799 "UseS3ExpressControlEndpoint": false 7800 } 7801 }, 7802 { 7803 "documentation": "Data Plane with long AZ", 7804 "expect": { 7805 "endpoint": { 7806 "properties": { 7807 "authSchemes": [ 7808 { 7809 "name": "sigv4-s3express", 7810 "signingName": "s3express", 7811 "signingRegion": "ap-northeast-1", 7812 "disableDoubleEncoding": true 7813 } 7814 ], 7815 "backend": "S3Express" 7816 }, 7817 "url": "https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com" 7818 } 7819 }, 7820 "operationInputs": [ 7821 { 7822 "builtInParams": { 7823 "AWS::Region": "ap-northeast-1" 7824 }, 7825 "operationName": "GetObject", 7826 "operationParams": { 7827 "Bucket": "mybucket--apne1-az1--x-s3", 7828 "Key": "key" 7829 } 7830 } 7831 ], 7832 "params": { 7833 "Region": "ap-northeast-1", 7834 "Bucket": "mybucket--apne1-az1--x-s3", 7835 "UseFIPS": false, 7836 "UseDualStack": false, 7837 "Accelerate": false, 7838 "UseS3ExpressControlEndpoint": false 7839 } 7840 }, 7841 { 7842 "documentation": "Data Plane with long AZ fips", 7843 "expect": { 7844 "endpoint": { 7845 "properties": { 7846 "authSchemes": [ 7847 { 7848 "name": "sigv4-s3express", 7849 "signingName": "s3express", 7850 "signingRegion": "ap-northeast-1", 7851 "disableDoubleEncoding": true 7852 } 7853 ], 7854 "backend": "S3Express" 7855 }, 7856 "url": "https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com" 7857 } 7858 }, 7859 "operationInputs": [ 7860 { 7861 "builtInParams": { 7862 "AWS::Region": "ap-northeast-1", 7863 "AWS::UseFIPS": true 7864 }, 7865 "operationName": "GetObject", 7866 "operationParams": { 7867 "Bucket": "mybucket--apne1-az1--x-s3", 7868 "Key": "key" 7869 } 7870 } 7871 ], 7872 "params": { 7873 "Region": "ap-northeast-1", 7874 "Bucket": "mybucket--apne1-az1--x-s3", 7875 "UseFIPS": true, 7876 "UseDualStack": false, 7877 "Accelerate": false, 7878 "UseS3ExpressControlEndpoint": false 7879 } 7880 }, 7881 { 7882 "documentation": "Control plane with short AZ bucket", 7883 "expect": { 7884 "endpoint": { 7885 "properties": { 7886 "authSchemes": [ 7887 { 7888 "name": "sigv4", 7889 "signingName": "s3express", 7890 "signingRegion": "us-east-1", 7891 "disableDoubleEncoding": true 7892 } 7893 ], 7894 "backend": "S3Express" 7895 }, 7896 "url": "https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3" 7897 } 7898 }, 7899 "operationInputs": [ 7900 { 7901 "builtInParams": { 7902 "AWS::Region": "us-east-1" 7903 }, 7904 "operationName": "CreateBucket", 7905 "operationParams": { 7906 "Bucket": "mybucket--use1-az1--x-s3" 7907 } 7908 } 7909 ], 7910 "params": { 7911 "Region": "us-east-1", 7912 "Bucket": "mybucket--use1-az1--x-s3", 7913 "UseFIPS": false, 7914 "UseDualStack": false, 7915 "Accelerate": false, 7916 "UseS3ExpressControlEndpoint": true, 7917 "DisableS3ExpressSessionAuth": false 7918 } 7919 }, 7920 { 7921 "documentation": "Control plane with short AZ bucket and fips", 7922 "expect": { 7923 "endpoint": { 7924 "properties": { 7925 "authSchemes": [ 7926 { 7927 "name": "sigv4", 7928 "signingName": "s3express", 7929 "signingRegion": "us-east-1", 7930 "disableDoubleEncoding": true 7931 } 7932 ], 7933 "backend": "S3Express" 7934 }, 7935 "url": "https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3" 7936 } 7937 }, 7938 "operationInputs": [ 7939 { 7940 "builtInParams": { 7941 "AWS::Region": "us-east-1", 7942 "AWS::UseFIPS": true 7943 }, 7944 "operationName": "CreateBucket", 7945 "operationParams": { 7946 "Bucket": "mybucket--use1-az1--x-s3" 7947 } 7948 } 7949 ], 7950 "params": { 7951 "Region": "us-east-1", 7952 "Bucket": "mybucket--use1-az1--x-s3", 7953 "UseFIPS": true, 7954 "UseDualStack": false, 7955 "Accelerate": false, 7956 "UseS3ExpressControlEndpoint": true, 7957 "DisableS3ExpressSessionAuth": false 7958 } 7959 }, 7960 { 7961 "documentation": "Control plane without bucket", 7962 "expect": { 7963 "endpoint": { 7964 "properties": { 7965 "authSchemes": [ 7966 { 7967 "name": "sigv4", 7968 "signingName": "s3express", 7969 "signingRegion": "us-east-1", 7970 "disableDoubleEncoding": true 7971 } 7972 ], 7973 "backend": "S3Express" 7974 }, 7975 "url": "https://s3express-control.us-east-1.amazonaws.com" 7976 } 7977 }, 7978 "operationInputs": [ 7979 { 7980 "builtInParams": { 7981 "AWS::Region": "us-east-1" 7982 }, 7983 "operationName": "ListDirectoryBuckets" 7984 } 7985 ], 7986 "params": { 7987 "Region": "us-east-1", 7988 "UseFIPS": false, 7989 "UseDualStack": false, 7990 "Accelerate": false, 7991 "UseS3ExpressControlEndpoint": true, 7992 "DisableS3ExpressSessionAuth": false 7993 } 7994 }, 7995 { 7996 "documentation": "Control plane without bucket and fips", 7997 "expect": { 7998 "endpoint": { 7999 "properties": { 8000 "authSchemes": [ 8001 { 8002 "name": "sigv4", 8003 "signingName": "s3express", 8004 "signingRegion": "us-east-1", 8005 "disableDoubleEncoding": true 8006 } 8007 ], 8008 "backend": "S3Express" 8009 }, 8010 "url": "https://s3express-control-fips.us-east-1.amazonaws.com" 8011 } 8012 }, 8013 "operationInputs": [ 8014 { 8015 "builtInParams": { 8016 "AWS::Region": "us-east-1", 8017 "AWS::UseFIPS": true 8018 }, 8019 "operationName": "ListDirectoryBuckets" 8020 } 8021 ], 8022 "params": { 8023 "Region": "us-east-1", 8024 "UseFIPS": true, 8025 "UseDualStack": false, 8026 "Accelerate": false, 8027 "UseS3ExpressControlEndpoint": true, 8028 "DisableS3ExpressSessionAuth": false 8029 } 8030 }, 8031 { 8032 "documentation": "Data Plane sigv4 auth with short AZ", 8033 "expect": { 8034 "endpoint": { 8035 "properties": { 8036 "authSchemes": [ 8037 { 8038 "name": "sigv4", 8039 "signingName": "s3express", 8040 "signingRegion": "us-west-2", 8041 "disableDoubleEncoding": true 8042 } 8043 ], 8044 "backend": "S3Express" 8045 }, 8046 "url": "https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com" 8047 } 8048 }, 8049 "params": { 8050 "Region": "us-west-2", 8051 "Bucket": "mybucket--usw2-az1--x-s3", 8052 "UseFIPS": false, 8053 "UseDualStack": false, 8054 "Accelerate": false, 8055 "DisableS3ExpressSessionAuth": true 8056 } 8057 }, 8058 { 8059 "documentation": "Data Plane sigv4 auth with short AZ fips", 8060 "expect": { 8061 "endpoint": { 8062 "properties": { 8063 "authSchemes": [ 8064 { 8065 "name": "sigv4", 8066 "signingName": "s3express", 8067 "signingRegion": "us-west-2", 8068 "disableDoubleEncoding": true 8069 } 8070 ], 8071 "backend": "S3Express" 8072 }, 8073 "url": "https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com" 8074 } 8075 }, 8076 "params": { 8077 "Region": "us-west-2", 8078 "Bucket": "mybucket--usw2-az1--x-s3", 8079 "UseFIPS": true, 8080 "UseDualStack": false, 8081 "Accelerate": false, 8082 "DisableS3ExpressSessionAuth": true 8083 } 8084 }, 8085 { 8086 "documentation": "Data Plane sigv4 auth with long AZ", 8087 "expect": { 8088 "endpoint": { 8089 "properties": { 8090 "authSchemes": [ 8091 { 8092 "name": "sigv4", 8093 "signingName": "s3express", 8094 "signingRegion": "ap-northeast-1", 8095 "disableDoubleEncoding": true 8096 } 8097 ], 8098 "backend": "S3Express" 8099 }, 8100 "url": "https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com" 8101 } 8102 }, 8103 "params": { 8104 "Region": "ap-northeast-1", 8105 "Bucket": "mybucket--apne1-az1--x-s3", 8106 "UseFIPS": false, 8107 "UseDualStack": false, 8108 "Accelerate": false, 8109 "UseS3ExpressControlEndpoint": false, 8110 "DisableS3ExpressSessionAuth": true 8111 } 8112 }, 8113 { 8114 "documentation": "Data Plane sigv4 auth with long AZ fips", 8115 "expect": { 8116 "endpoint": { 8117 "properties": { 8118 "authSchemes": [ 8119 { 8120 "name": "sigv4", 8121 "signingName": "s3express", 8122 "signingRegion": "ap-northeast-1", 8123 "disableDoubleEncoding": true 8124 } 8125 ], 8126 "backend": "S3Express" 8127 }, 8128 "url": "https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com" 8129 } 8130 }, 8131 "params": { 8132 "Region": "ap-northeast-1", 8133 "Bucket": "mybucket--apne1-az1--x-s3", 8134 "UseFIPS": true, 8135 "UseDualStack": false, 8136 "Accelerate": false, 8137 "UseS3ExpressControlEndpoint": false, 8138 "DisableS3ExpressSessionAuth": true 8139 } 8140 }, 8141 { 8142 "documentation": "Control Plane host override", 8143 "expect": { 8144 "endpoint": { 8145 "properties": { 8146 "authSchemes": [ 8147 { 8148 "name": "sigv4", 8149 "signingName": "s3express", 8150 "signingRegion": "us-west-2", 8151 "disableDoubleEncoding": true 8152 } 8153 ], 8154 "backend": "S3Express" 8155 }, 8156 "url": "https://mybucket--usw2-az1--x-s3.custom.com" 8157 } 8158 }, 8159 "params": { 8160 "Region": "us-west-2", 8161 "Bucket": "mybucket--usw2-az1--x-s3", 8162 "UseFIPS": false, 8163 "UseDualStack": false, 8164 "Accelerate": false, 8165 "UseS3ExpressControlEndpoint": true, 8166 "DisableS3ExpressSessionAuth": true, 8167 "Endpoint": "https://custom.com" 8168 } 8169 }, 8170 { 8171 "documentation": "Control Plane host override no bucket", 8172 "expect": { 8173 "endpoint": { 8174 "properties": { 8175 "authSchemes": [ 8176 { 8177 "name": "sigv4", 8178 "signingName": "s3express", 8179 "signingRegion": "us-west-2", 8180 "disableDoubleEncoding": true 8181 } 8182 ], 8183 "backend": "S3Express" 8184 }, 8185 "url": "https://custom.com" 8186 } 8187 }, 8188 "params": { 8189 "Region": "us-west-2", 8190 "UseFIPS": false, 8191 "UseDualStack": false, 8192 "Accelerate": false, 8193 "UseS3ExpressControlEndpoint": true, 8194 "DisableS3ExpressSessionAuth": true, 8195 "Endpoint": "https://custom.com" 8196 } 8197 }, 8198 { 8199 "documentation": "Data plane host override non virtual session auth", 8200 "expect": { 8201 "endpoint": { 8202 "properties": { 8203 "authSchemes": [ 8204 { 8205 "name": "sigv4-s3express", 8206 "signingName": "s3express", 8207 "signingRegion": "us-west-2", 8208 "disableDoubleEncoding": true 8209 } 8210 ], 8211 "backend": "S3Express" 8212 }, 8213 "url": "https://10.0.0.1/mybucket--usw2-az1--x-s3" 8214 } 8215 }, 8216 "operationInputs": [ 8217 { 8218 "builtInParams": { 8219 "AWS::Region": "us-west-2", 8220 "SDK::Endpoint": "https://10.0.0.1" 8221 }, 8222 "operationName": "GetObject", 8223 "operationParams": { 8224 "Bucket": "mybucket--usw2-az1--x-s3", 8225 "Key": "key" 8226 } 8227 } 8228 ], 8229 "params": { 8230 "Region": "us-west-2", 8231 "Bucket": "mybucket--usw2-az1--x-s3", 8232 "UseFIPS": false, 8233 "UseDualStack": false, 8234 "Accelerate": false, 8235 "Endpoint": "https://10.0.0.1" 8236 } 8237 }, 8238 { 8239 "documentation": "Control Plane host override ip", 8240 "expect": { 8241 "endpoint": { 8242 "properties": { 8243 "authSchemes": [ 8244 { 8245 "name": "sigv4", 8246 "signingName": "s3express", 8247 "signingRegion": "us-west-2", 8248 "disableDoubleEncoding": true 8249 } 8250 ], 8251 "backend": "S3Express" 8252 }, 8253 "url": "https://10.0.0.1/mybucket--usw2-az1--x-s3" 8254 } 8255 }, 8256 "params": { 8257 "Region": "us-west-2", 8258 "Bucket": "mybucket--usw2-az1--x-s3", 8259 "UseFIPS": false, 8260 "UseDualStack": false, 8261 "Accelerate": false, 8262 "UseS3ExpressControlEndpoint": true, 8263 "DisableS3ExpressSessionAuth": true, 8264 "Endpoint": "https://10.0.0.1" 8265 } 8266 }, 8267 { 8268 "documentation": "Data plane host override", 8269 "expect": { 8270 "endpoint": { 8271 "properties": { 8272 "authSchemes": [ 8273 { 8274 "name": "sigv4-s3express", 8275 "signingName": "s3express", 8276 "signingRegion": "us-west-2", 8277 "disableDoubleEncoding": true 8278 } 8279 ], 8280 "backend": "S3Express" 8281 }, 8282 "url": "https://mybucket--usw2-az1--x-s3.custom.com" 8283 } 8284 }, 8285 "operationInputs": [ 8286 { 8287 "builtInParams": { 8288 "AWS::Region": "us-west-2", 8289 "SDK::Endpoint": "https://custom.com" 8290 }, 8291 "operationName": "GetObject", 8292 "operationParams": { 8293 "Bucket": "mybucket--usw2-az1--x-s3", 8294 "Key": "key" 8295 } 8296 } 8297 ], 8298 "params": { 8299 "Region": "us-west-2", 8300 "Bucket": "mybucket--usw2-az1--x-s3", 8301 "UseFIPS": false, 8302 "UseDualStack": false, 8303 "Accelerate": false, 8304 "Endpoint": "https://custom.com" 8305 } 8306 }, 8307 { 8308 "documentation": "bad format error", 8309 "expect": { 8310 "error": "Unrecognized S3Express bucket name format." 8311 }, 8312 "operationInputs": [ 8313 { 8314 "builtInParams": { 8315 "AWS::Region": "us-east-1" 8316 }, 8317 "operationName": "GetObject", 8318 "operationParams": { 8319 "Bucket": "mybucket--usaz1--x-s3", 8320 "Key": "key" 8321 } 8322 } 8323 ], 8324 "params": { 8325 "Region": "us-east-1", 8326 "Bucket": "mybucket--usaz1--x-s3", 8327 "UseFIPS": false, 8328 "UseDualStack": false, 8329 "Accelerate": false, 8330 "UseS3ExpressControlEndpoint": false 8331 } 8332 }, 8333 { 8334 "documentation": "bad format error no session auth", 8335 "expect": { 8336 "error": "Unrecognized S3Express bucket name format." 8337 }, 8338 "operationInputs": [ 8339 { 8340 "builtInParams": { 8341 "AWS::Region": "us-east-1" 8342 }, 8343 "operationName": "GetObject", 8344 "operationParams": { 8345 "Bucket": "mybucket--usaz1--x-s3", 8346 "Key": "key" 8347 } 8348 } 8349 ], 8350 "params": { 8351 "Region": "us-east-1", 8352 "Bucket": "mybucket--usaz1--x-s3", 8353 "UseFIPS": false, 8354 "UseDualStack": false, 8355 "Accelerate": false, 8356 "UseS3ExpressControlEndpoint": false, 8357 "DisableS3ExpressSessionAuth": true 8358 } 8359 }, 8360 { 8361 "documentation": "dual-stack error", 8362 "expect": { 8363 "error": "S3Express does not support Dual-stack." 8364 }, 8365 "operationInputs": [ 8366 { 8367 "builtInParams": { 8368 "AWS::Region": "us-east-1", 8369 "AWS::UseDualStack": true 8370 }, 8371 "operationName": "GetObject", 8372 "operationParams": { 8373 "Bucket": "mybucket--use1-az1--x-s3", 8374 "Key": "key" 8375 } 8376 } 8377 ], 8378 "params": { 8379 "Region": "us-east-1", 8380 "Bucket": "mybucket--use1-az1--x-s3", 8381 "UseFIPS": false, 8382 "UseDualStack": true, 8383 "Accelerate": false, 8384 "UseS3ExpressControlEndpoint": false 8385 } 8386 }, 8387 { 8388 "documentation": "accelerate error", 8389 "expect": { 8390 "error": "S3Express does not support S3 Accelerate." 8391 }, 8392 "operationInputs": [ 8393 { 8394 "builtInParams": { 8395 "AWS::Region": "us-east-1", 8396 "AWS::S3::Accelerate": true 8397 }, 8398 "operationName": "GetObject", 8399 "operationParams": { 8400 "Bucket": "mybucket--use1-az1--x-s3", 8401 "Key": "key" 8402 } 8403 } 8404 ], 8405 "params": { 8406 "Region": "us-east-1", 8407 "Bucket": "mybucket--use1-az1--x-s3", 8408 "UseFIPS": false, 8409 "UseDualStack": false, 8410 "Accelerate": true, 8411 "UseS3ExpressControlEndpoint": false 8412 } 8413 }, 8414 { 8415 "documentation": "Data plane bucket format error", 8416 "expect": { 8417 "error": "S3Express bucket name is not a valid virtual hostable name." 8418 }, 8419 "operationInputs": [ 8420 { 8421 "builtInParams": { 8422 "AWS::Region": "us-east-1" 8423 }, 8424 "operationName": "GetObject", 8425 "operationParams": { 8426 "Bucket": "my.bucket--use1-az1--x-s3", 8427 "Key": "key" 8428 } 8429 } 8430 ], 8431 "params": { 8432 "Region": "us-east-1", 8433 "Bucket": "my.bucket--use1-az1--x-s3", 8434 "UseFIPS": false, 8435 "UseDualStack": false, 8436 "Accelerate": false, 8437 "UseS3ExpressControlEndpoint": false 8438 } 8439 }, 8440 { 8441 "documentation": "host override data plane bucket error session auth", 8442 "expect": { 8443 "error": "S3Express bucket name is not a valid virtual hostable name." 8444 }, 8445 "operationInputs": [ 8446 { 8447 "builtInParams": { 8448 "AWS::Region": "us-west-2", 8449 "SDK::Endpoint": "https://custom.com" 8450 }, 8451 "operationName": "GetObject", 8452 "operationParams": { 8453 "Bucket": "my.bucket--usw2-az1--x-s3", 8454 "Key": "key" 8455 } 8456 } 8457 ], 8458 "params": { 8459 "Region": "us-west-2", 8460 "Bucket": "my.bucket--usw2-az1--x-s3", 8461 "UseFIPS": false, 8462 "UseDualStack": false, 8463 "Accelerate": false, 8464 "Endpoint": "https://custom.com" 8465 } 8466 }, 8467 { 8468 "documentation": "host override data plane bucket error", 8469 "expect": { 8470 "error": "S3Express bucket name is not a valid virtual hostable name." 8471 }, 8472 "params": { 8473 "Region": "us-west-2", 8474 "Bucket": "my.bucket--usw2-az1--x-s3", 8475 "UseFIPS": false, 8476 "UseDualStack": false, 8477 "Accelerate": false, 8478 "Endpoint": "https://custom.com", 8479 "DisableS3ExpressSessionAuth": true 8480 } 8481 } 8482 ], 8483 "version": "1.0" 8484}